US20120089676A1 - Live data form viewing and updating system - Google Patents
Live data form viewing and updating system Download PDFInfo
- Publication number
- US20120089676A1 US20120089676A1 US13/248,471 US201113248471A US2012089676A1 US 20120089676 A1 US20120089676 A1 US 20120089676A1 US 201113248471 A US201113248471 A US 201113248471A US 2012089676 A1 US2012089676 A1 US 2012089676A1
- Authority
- US
- United States
- Prior art keywords
- message
- live data
- data form
- server
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00204—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
- H04N1/00244—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
- H04N1/00464—Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00795—Reading arrangements
- H04N1/00798—Circuits or arrangements for the control thereof, e.g. using a programmed control device or according to a measured quantity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00962—Input arrangements for operating instructions or parameters, e.g. updating internal software
- H04N1/00973—Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32106—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
- H04N1/32122—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate device, e.g. in a memory or on a display separate from image data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
- H04N1/448—Rendering the image unintelligible, e.g. scrambling
- H04N1/4486—Rendering the image unintelligible, e.g. scrambling using digital data encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
- H04N2201/0034—Details of the connection, e.g. connector, interface
- H04N2201/0037—Topological details of the connection
- H04N2201/0039—Connection via a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0081—Image reader
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
Definitions
- the invention is related to field of network applications, and in particular to a live data form viewing and updating process.
- next generation Internet is one based on portability, open standards, and mobile device support.
- the ability to provide full document management functionality in the absence of traditional client/server technology while supporting any web browser on any platform along with a wide range of mobile devices presents a number of unique challenges.
- the live data form includes a client that executes a browser that receives one or more user requests to view or update a live data form being stored remotely.
- the live data form includes a plurality of data blocks having information that defines the live data form.
- the browser issues a first message with respect to viewing or updating the live data form.
- a server receives the first message and executes a first routine that analyzes the contents of the first message and formulates one or more query statements associated with a data block to be executed by one or more remote databases.
- the server issues a second message to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
- a method of viewing and updating a live data form includes executing a browser on a client that receives one or more user requests to view or update the live data form being stored remotely.
- the live data form include a plurality of data blocks that includes information that defines the live data form.
- the browser issues a first message with respect to viewing or updating the live data form.
- the method includes receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or more query statements, and performing the one or more query statements by one or more remote databases.
- the method includes issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
- a computer readable medium for storing a program being executed on a computer system.
- the programs performs a method of viewing and updating a live data form.
- the method includes executing a browser on a client that receives one or more user requests to view or update the live data form being stored remotely.
- the live data form includes a plurality of data blocks that include information that defines the live data form.
- the browser issues a first message with respect to viewing or updating the live data form.
- the method includes receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or more query statements, and performing the one or more query statements by one or more remote databases.
- the method includes issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
- FIG. 1 is a schematic diagram illustrating the live data form system used in accordance with the invention.
- FIG. 2 is a process flow illustrating the steps in displaying one or more images in accordance with the invention.
- FIG. 3A-3B are process flows illustrating the steps for the live data form updating process.
- the invention provides a live data form that is a unique, configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within the browser.
- the invention allows a user to update the various data blocks used within the form without expanding or requiring any manual control.
- the invention also updates the respective contents of the data blocks in their respective databases that is stored remotely.
- the invention is implemented in a platform independent framework, which allows the invention to run on various operating system platforms.
- the invention can be implemented using platform independent computer languages, such as Java or the like. This allows the invention to be used freely in various operating system platforms without limiting the functionalities of the invention.
- the browser used in accordance with the invention can use run code from the platform independent computer languages to operate the objectives of the invention.
- the invention can operate on both conventional computer systems as well as mobile devices and tablets.
- FIG. 1 is a schematic diagram illustrating the live data form system 2 used in accordance with the invention.
- the live data form system 2 includes a user working on a computer system 3 that is executing a browser 4 .
- the computer system 3 includes a processor, a portable storage, and processor storage medium.
- the browser 4 displays a number of images and information for which the user 4 discerns. Also, the browser 4 includes the ability to retrieve information over the Internet and facilitate communications with other computer systems, such as a server 8 .
- the communication protocols such as TCP/IP or the like, are used by the browser 6 to communicate with the server 8 and other computer systems used in a network.
- the system 2 requires a user to be authenticated to a server 8 .
- the user provides their authentication information, such as username and/or password, and the browser 4 creates a request 20 , which the computer system 3 sends to the server 8 .
- the message 20 includes authentication information and form information.
- the server 8 receives the message 20 , it initiates a form engine 10 to analyze the authentication information and determine if the user is given privileges to access the requested form. If is determined the user cannot have access to the form 6 , the user's ability to view and access the form is disabled. Otherwise, the form engine 10 provides the form 6 and all associated component retrieved from either the metadata store 12 and/or document repository 14 to server 8 .
- the server 8 packages the information provided by the form engine 10 into a message 22 to be sent to the browser 4 via the computer system 3 .
- the live data form 6 used in accordance with the invention includes a custom collection of data of autonomous data blocks 7 where each block 7 is an assortment of one or more customized SQL statements needed to perform a query, insert, or update operations associated with each data block 7 .
- the invention requires that a search query be executed using the embedded search and index query operation described in U.S. patent application Ser. No. (Nolij 9372), which is incorporated in its entirety herein.
- a search result is provided, a list of folders is provided to the user.
- the browser 4 automatically refreshes the contents of the folder by having the browser 4 pass a key value, in this case a unique ID associated with the folder to the server 8 .
- the folder contents represent documents contained within the folder.
- Each form 6 built using the form engine 10 can be configured to refresh based on either a folder or document selection, but not both. If configured for folder refresh, then once the server 8 receives the key value from the browser 4 , the server 8 initiates the form engine 10 .
- the form 6 waits for a document to be selected. Once a document is selected, the browser 4 passes the unique ID associated with the document to the server 8 , which initiates the form engine 10 .
- the form engine 10 starts up a parsing loop that goes through each data block 7 associated with the form 6 .
- the form 6 can have a selective number of data blocks 7 and a parsing loop is specifically designed to extract the first data block 7 and continue monitoring for additional data blocks 7 . Once the loop extracts a data block 7 , a determination is made as to whether there are embedded variables.
- the embedded variable can include a number of variables such as folder ID, document ID, and user ID as well as other references to any fields located on any data blocks 7 on the form 6 .
- the form engine 10 parses all the variables and replaces each variable with a corresponding value. Using this information, the form engine 10 formulates SQL statements used in querying either the metadata store 12 or document repository 14 .
- the metadata store 12 and the document repository 14 are database structures that store and classify information.
- the form engine 10 executes SQL statements associated with a current data block 7 .
- the results of the execution of the SQL statement are added to a Data Transfer Object (DTO) package 26 for delivery to the browser 6 .
- the DTO is a design pattern used to transfer data back to the browser 4 .
- the form engine 10 continues onto the next data block 7 until all data blocks 7 have been parsed and the associated SQL statement executed using a parsing loop.
- DTO Data Transfer Object
- the final component of the live form viewing process includes the server 8 providing the DTO results 26 to the browser 4 for further processing.
- the browser 4 retrieves all data values and populates the live data form 6 using the retrieved results.
- the live data form 6 is a unique and configurable form that permits a plurality of fields from one or more databases to be combined into a single form viewable within the browser 4 .
- the invention allows information within the live data form 7 to be updated without exhausting or extremely expanding resources. Before any update process can be initiated, the live data form 6 must be refreshed.
- the invention allows one or more data blocks 7 to be updated. These updated data blocks 7 are enabled for data entry when the form engine 10 checks through all the data blocks 7 looking for any sign of update logic using a parsing loop. This means at least one block can be configured with save capabilities, such as a SQL insert and/or update logic, where the update logic is set as true.
- top level form save controls When it is determined there is no update logic, all top level form save controls are disabled. Otherwise, those data blocks 7 that have update logic are enabled for data entry and any top-level form save controls are enabled in the browser 4 . Also, one or more data blocks 7 can be edited and/or updated prior to the enabled form save controls being enabled. When the one or more fields are updated in the data blocks 7 , this triggers the save process within the browser 4 .
- the browser 4 loops and parses all form data blocks 7 , tracking the changes found using a parsing loop.
- the browser 4 checks for further available data blocks 7 at each loop pass.
- the data block field values are packaged for possible SQL reference and uses, given each data block 7 can reference any field values on the form 6 .
- the browser 4 determines at each data block 7 having field level editing if changes were made. And when changes are found, the data block 7 is flagged for later inclusion in the form engine 10 update loop process. Once the data block 7 is flagged or when there are no changes, all field IDs and data from the data block 7 are collected by the browser 4 in the loop. The collected information is added to a DTO request package 25 to be sent to the server 8 for further processing.
- the loop process continues until all data blocks 7 have been processed and added into a DTO request package 25 .
- the browser 4 sends the DTO request package 25 to the server 8 .
- the server 8 receives the DTO request package 25
- the server 8 prepares for processing the data blocks 7 added to the DTO request package 25 .
- the server 8 examines all the data blocks 7 with the save option configured. Only those data blocks field values having embedded save logic are evaluated in the loop executed by the form engine 10 . If is determined that there is no save option within a current data block 7 , the form engine 10 continues on to the next data block 7 . Otherwise, the current data block 7 does include save logic and the form engine 10 checks to see if substitutions are necessary. Substitutions apply to all embedded variable and external field references.
- the form engine 10 carries out the substitutions and creates the finished SQL statement(s) for execution.
- the server 8 establishes a connection with the remote database 12 , 14 for the current data block 7 .
- each data block 7 is an autonomous data object that can connect to any external SQL database, this allows the form to join, query, and/or update any number and type of external databases through a simple and seamless interface.
- the server pass all SQL statements using messages 16 , 18 to the target database 12 , 14 for execution.
- the server 8 collects the results of SQL statement and adds them to a DTO results package 26 to be sent to the browser 4 .
- the form engine 10 continues the data block parsing loop until all data blocks 7 have been evaluated. Once the form engine 10 is complete performing the parsing loop, the DTO results package 26 is sent to the browser 4 .
- the browser 4 receives the DTO results package 26 , the browser 4 updates all forms fields with new or updated data.
- the data blocks 7 of the form 6 can initially be created by a user using the browser 4 .
- the user can initiate a save of the new created form 6 and its respective data blocks 7 .
- the browser 4 uses the parsing loop to parse all data blocks in the form 6 and package the information into a DTO request package 24 to be sent to the server for storage in either of the database(s) 12 , 14 .
- the server 8 receives the DTO request package 24 , it processes the contents and sends them to the form engine 10 for further processing.
- the form engine 10 using its parsing loop retrieves all the respective data block information and then formulates SQL queries that saves the data block information in either the metadata store 12 or document repository 14 .
- the server 8 establishes connection with either of the databases 12 , 14 to execute the SQL queries.
- the live data form 6 is a novel and configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within a browser 4 .
- FIG. 2 is a process flow illustrating the steps for the live data form viewing process.
- a user Before the data form 6 can be accessed, a user must log in as shown in step 31 . This first level of authentication only controls access to the browser 4 at a top level. Subsequent permissions are evaluated to determine if the connected user is allowed to use the live data form and to what degree, as shown in step 32 . If use of the live data form is not granted, the ability to access and even view the form 6 is disabled. If, however, the user is allowed to use the data form 6 , as shown in step 33 , then the browser 4 proceeds to download the assigned form components and render the full form 6 , as shown in step 34 .
- each live data form 6 is a custom collection of autonomous data blocks where each data block 7 is a collection of one or more custom SQL statements as needed to perform the defined query, insert, or update tasks associated with each data block 7 .
- a search query must be executed using the embedded search and index query interface, as described in U.S. patent application Ser. No. 13/247,536 (Nolij 9372), which is incorporated in its entirety herein, and at least one folder must be returned from the search.
- the live data form 6 automatically refreshes when one of the displayed folders or folder documents is selected, as shown in step 35 , and the first step in the refresh process is for the browser 4 to pass key value data—typically a unique ID—associated with the selected folder or document to the server 8 to be used in the refresh process, as shown in step 36 .
- the server 8 After the server 8 receives the key value data from the browser 4 , it initiates a parsing loop through all data blocks 7 associated with the current form 6 , as shown in step 37 .
- Each form 6 can contain any number of data blocks 7 , so the loop is configured to retrieve the first available data block 7 , the continue monitoring for additional data blocks 7 , as shown in step 38 .
- the parsing loop Once the parsing loop has a data block 7 , it first checks for embedded variables, as shown in step 39 .
- Form data blocks 7 can include a number of embedded variables including folder ID, document ID, and end user ID as well as references to any fields located on any data blocks 7 on the form 7 .
- the form engine 10 parses all variables, as shown in step 40 , replacing each variable with a corresponding value. It then constructs finished SQL statements in preparation for execution, as shown in step 41 .
- a target database Prior to running any SQL, a target database is identified and an appropriate connection is opened to that database, as shown in step 42 .
- the loop processor executes all SQL statements against the connected database, as shown in step 43 .
- the results of the SQL statement(s) are added to a Data Transfer Object (DTO) result package 22 for delivery back to the browser 4 , as shown in step 44 .
- DTO Data Transfer Object
- a Data Transfer Object is a design pattern used to transfer data between the server 8 and the browser 4 .
- the loop processor moves onto the next data block until all data blocks have been parsed and the associated SQL executed.
- the final piece of the live data form viewing process involves the server returning the full DTO results package to the originating browser 4 , as shown in step 45 .
- the browser 4 then loops through the DTO package 22 , extracts all data values, as shown in step 46 , and populates the live data form 6 with the extracted data, as shown in step 47 .
- the inventive live data form 6 is a unique, configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within the browser 4 . Prior to performing any updates within the live data form 6 , the form 6 must be refreshed as described in FIG. 2 .
- FIG. 3A-3B are process flows 50 , 80 illustrating the steps for the live data form updating process.
- the form 6 must be refreshed prior to any data updates being carried out. As such, the live data form viewing process must be completed, as shown in step 51 of FIG. 3A .
- the data blocks 7 may allow updating. Those data blocks 7 that allow updating are enabled for data entry when the browser 4 performs a parsing loop through all data blocks 7 looking for the presence of update logic, as shown in step 52 .
- At least one data block 7 must be configured with a save capability—meaning SQL insert and/or update logic—for the update logic check to be true.
- any top level form save controls are disabled, as shown in step 54 . If update logic is found, then those individual data blocks 7 are enabled for data entry and any top level form save controls are enabled in the browser 4 , as shown in step 55 . Prior to the now-enabled form save controls to be available for use, one or more data block fields must be edited and/or updated, as shown in step 56 . Once one or more fields are updated, the user selection within the browser 4 of the appropriate form save control triggers the form save process, as shown in step 57 .
- the browser 6 Prior to the server 8 evaluating and processing any form 6 changes, the browser 6 must loop and parse all form data blocks 7 , noting any changes, as shown in step 58 . At each loop pass, the browser 4 checks for mare available data blocks 7 , as shown in step 59 . Since each data block 7 can reference any field values on the form, all data block field values must be packaged for possible SQL reference and use. At each data block 7 with field level editing enabled, the browser 4 checks if any changes were made, as shown in step 60 , and if so, flags that data block 7 for later inclusion in the form engine 10 parsing loop, as shown in step 61 .
- the browser 4 collects all field IDs (identifiers uniquely identifying each field on the form) and data from the data block 7 now being processed in the loop, as shown in step 62 . Once collected, all field IDs and data from the current data block 7 are added to a DTO request package 25 to be delivered to the server 8 for processing, as shown in step 63 .
- the loop through all data blocks 7 continues using the parsing loop until all data blocks 7 have been processed, flagged (if appropriate), and added to the DTO request package 25 .
- the browser 4 submits the DTO request package 25 to the server 8 for processing, as shown in step 64 .
- the server 8 receives the DTO request package 25 , as shown in step 65 , and prepares the DTO package 25 for execution, as shown in step 66 of FIG. 3B .
- the DTO package 25 is evaluated and all data blocks 7 with the save option configured are processed. Although all form data block field values are passed to the server 8 , only those data blocks 7 with embedded save logic are evaluated in the form engine 10 parsing loop, as shown in step 67 . As the loop selects each data block 7 , a check is made for the configured save option, as shown in step 68 . If the save option is not detected, the current data block 7 is skipped and the form engine 10 moves on to the next data block 7 . If the current data block 7 does contain save logic, then the form engine 10 checks to see if any substitutions are necessary, as shown in step 69 . Substitutions apply to all embedded variables and external field references. The form engine 10 performs any required substitutions, as shown in step 70 , and then constructs the finished SQL statement(s) for execution, as shown in step 71 .
- the server 8 opens the proper remote database connection as needed for the current data block 7 , as shown in step 72 . Since each data block 7 is an autonomous data object, capable of connecting to virtually any external SQL database, each data form 6 is therefore able to join, query, and update any number and type of external databases through a single, seamless interface. Once the connection is established, the server 8 passes all SQL statements to the target database(s) 12 , 14 for execution, as shown in step 73 . As each SQL statement is executed, the results of the SQL execution are collected and added to the DTO results package 26 for delivery back to the browser 4 , as shown in step 74 .
- the form engine 10 continues the data block parsing loop by checking for more data blocks 7 , as shown in step 75 . If more data blocks are found, the process repeats until all data blocks 7 have been evaluated. Upon loop completion, the server 8 returns the completed DTO results package 26 to the originating browser 4 , as shown in step 76 , which the browser 4 uses to refresh all form fields with new or updated data, as shown in step 77 .
- the invention provides a live data form having configurable arrangement permitting multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within a browser.
- the invention allows a user to update the various data blocks used within the form without expanding or requiring any manual control.
- the invention also updates the respective contents of the data blocks in their respective databases that is stored remotely.
- the invention is configurable to operate in mobile systems as well as conventional computer systems that are connected on a network.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Facsimiles In General (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
A live data form system is provided that includes a client that executes a browser that receives one or more user requests to view or update a live data form being stored remotely. The live data form includes a plurality of data blocks having information that defines the live data form. The browser issues a first message with respect to viewing or updating the live data form. A server receives the first message and executes a first routine that analyzes the contents of the first message and formulates one or more query statements associated with a data block to be executed by one or more remote databases. When the one or more remote databases finish performing the one or more query statements, the server issues a second message to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
Description
- This application claims priority from provisional application Ser. No. 61/392,252 filed Oct. 12, 2010, which is incorporated herein by reference in its entirety.
- The invention is related to field of network applications, and in particular to a live data form viewing and updating process.
- Traditional document management, requiring extensive use of locally attached scanning devices, file servers, databases, and the like, has long been rooted in the technology of yesterday: namely, Windows-based client/server technology. A new era of computing is currently being ushered in; one that revolves around portability, cross platform support, and a new and growing installed base of mobile devices driven by Google, the resurgent Apple Inc. and others. Leveraging this new and increasingly adopted technology environment requires redesigning and, in many cases, reinventing wheels that no longer fit. Unfortunately, the enterprise document management space is largely tied to legacy client/server architecture. While most vendors offer a lightweight web client with limited functionality—to present a veneer of modernity—the bulk of the underlying technology is built on traditional Windows-based client server architecture. As Java technology continues to evolve and consume a greater percentage of development projects worldwide, more and more leading software companies are leveraging its portability and multi-platform capabilities to prepare for the next-generation Internet. The next generation Internet is one based on portability, open standards, and mobile device support. The ability to provide full document management functionality in the absence of traditional client/server technology while supporting any web browser on any platform along with a wide range of mobile devices presents a number of unique challenges.
- According to one aspect of the invention, there is provided a live data form system. The live data form includes a client that executes a browser that receives one or more user requests to view or update a live data form being stored remotely. The live data form includes a plurality of data blocks having information that defines the live data form. The browser issues a first message with respect to viewing or updating the live data form. A server receives the first message and executes a first routine that analyzes the contents of the first message and formulates one or more query statements associated with a data block to be executed by one or more remote databases. When the one or more remote databases finish performing the one or more query statements, the server issues a second message to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
- According to another aspect of the invention, there is provided a method of viewing and updating a live data form. The method includes executing a browser on a client that receives one or more user requests to view or update the live data form being stored remotely. The live data form include a plurality of data blocks that includes information that defines the live data form. The browser issues a first message with respect to viewing or updating the live data form. Also, the method includes receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or more query statements, and performing the one or more query statements by one or more remote databases. Furthermore, the method includes issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
- According to another aspect of the invention, there is provided a computer readable medium for storing a program being executed on a computer system. The programs performs a method of viewing and updating a live data form. The method includes executing a browser on a client that receives one or more user requests to view or update the live data form being stored remotely. The live data form includes a plurality of data blocks that include information that defines the live data form. The browser issues a first message with respect to viewing or updating the live data form. Also, the method includes receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or more query statements, and performing the one or more query statements by one or more remote databases. Furthermore, the method includes issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
-
FIG. 1 is a schematic diagram illustrating the live data form system used in accordance with the invention; and -
FIG. 2 is a process flow illustrating the steps in displaying one or more images in accordance with the invention; and -
FIG. 3A-3B are process flows illustrating the steps for the live data form updating process. - The invention provides a live data form that is a unique, configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within the browser. The invention allows a user to update the various data blocks used within the form without expanding or requiring any manual control. The invention also updates the respective contents of the data blocks in their respective databases that is stored remotely.
- The invention is implemented in a platform independent framework, which allows the invention to run on various operating system platforms. The invention can be implemented using platform independent computer languages, such as Java or the like. This allows the invention to be used freely in various operating system platforms without limiting the functionalities of the invention. Moreover, the browser used in accordance with the invention can use run code from the platform independent computer languages to operate the objectives of the invention. In addition, the invention can operate on both conventional computer systems as well as mobile devices and tablets.
-
FIG. 1 is a schematic diagram illustrating the livedata form system 2 used in accordance with the invention. The livedata form system 2 includes a user working on a computer system 3 that is executing abrowser 4. The computer system 3 includes a processor, a portable storage, and processor storage medium. Thebrowser 4 displays a number of images and information for which theuser 4 discerns. Also, thebrowser 4 includes the ability to retrieve information over the Internet and facilitate communications with other computer systems, such as aserver 8. The communication protocols, such as TCP/IP or the like, are used by thebrowser 6 to communicate with theserver 8 and other computer systems used in a network. - The
system 2 requires a user to be authenticated to aserver 8. In this case, the user provides their authentication information, such as username and/or password, and thebrowser 4 creates arequest 20, which the computer system 3 sends to theserver 8. Themessage 20 includes authentication information and form information. When theserver 8 receives themessage 20, it initiates aform engine 10 to analyze the authentication information and determine if the user is given privileges to access the requested form. If is determined the user cannot have access to theform 6, the user's ability to view and access the form is disabled. Otherwise, theform engine 10 provides theform 6 and all associated component retrieved from either themetadata store 12 and/ordocument repository 14 toserver 8. Theserver 8 packages the information provided by theform engine 10 into amessage 22 to be sent to thebrowser 4 via the computer system 3. Thelive data form 6 used in accordance with the invention includes a custom collection of data of autonomous data blocks 7 where each block 7 is an assortment of one or more customized SQL statements needed to perform a query, insert, or update operations associated with each data block 7. - The invention requires that a search query be executed using the embedded search and index query operation described in U.S. patent application Ser. No. (Nolij 9372), which is incorporated in its entirety herein. When a search result is provided, a list of folders is provided to the user. Once a folder is selected the
browser 4 automatically refreshes the contents of the folder by having thebrowser 4 pass a key value, in this case a unique ID associated with the folder to theserver 8. The folder contents represent documents contained within the folder. Eachform 6 built using theform engine 10 can be configured to refresh based on either a folder or document selection, but not both. If configured for folder refresh, then once theserver 8 receives the key value from thebrowser 4, theserver 8 initiates theform engine 10. If configured for document refresh, then theform 6 waits for a document to be selected. Once a document is selected, thebrowser 4 passes the unique ID associated with the document to theserver 8, which initiates theform engine 10. Theform engine 10 starts up a parsing loop that goes through each data block 7 associated with theform 6. Theform 6 can have a selective number of data blocks 7 and a parsing loop is specifically designed to extract the first data block 7 and continue monitoring for additional data blocks 7. Once the loop extracts a data block 7, a determination is made as to whether there are embedded variables. The embedded variable can include a number of variables such as folder ID, document ID, and user ID as well as other references to any fields located on any data blocks 7 on theform 6. - The
form engine 10 parses all the variables and replaces each variable with a corresponding value. Using this information, theform engine 10 formulates SQL statements used in querying either themetadata store 12 ordocument repository 14. Note themetadata store 12 and thedocument repository 14 are database structures that store and classify information. Before a query is executed, all targeteddatabases server 8 and thedatabases form engine 10 executes SQL statements associated with a current data block 7. The results of the execution of the SQL statement are added to a Data Transfer Object (DTO)package 26 for delivery to thebrowser 6. The DTO is a design pattern used to transfer data back to thebrowser 4. Theform engine 10 continues onto the next data block 7 until all data blocks 7 have been parsed and the associated SQL statement executed using a parsing loop. - The final component of the live form viewing process includes the
server 8 providing the DTO results 26 to thebrowser 4 for further processing. Once thebrowser 6 receives the DTO results 26, thebrowser 4 retrieves all data values and populates the live data form 6 using the retrieved results. The live data form 6 is a unique and configurable form that permits a plurality of fields from one or more databases to be combined into a single form viewable within thebrowser 4. - The invention allows information within the live data form 7 to be updated without exhausting or extremely expanding resources. Before any update process can be initiated, the live data form 6 must be refreshed. The invention allows one or more data blocks 7 to be updated. These updated data blocks 7 are enabled for data entry when the
form engine 10 checks through all the data blocks 7 looking for any sign of update logic using a parsing loop. This means at least one block can be configured with save capabilities, such as a SQL insert and/or update logic, where the update logic is set as true. - When it is determined there is no update logic, all top level form save controls are disabled. Otherwise, those data blocks 7 that have update logic are enabled for data entry and any top-level form save controls are enabled in the
browser 4. Also, one or more data blocks 7 can be edited and/or updated prior to the enabled form save controls being enabled. When the one or more fields are updated in the data blocks 7, this triggers the save process within thebrowser 4. - Before the
server 8 evaluates and processes any form changes, thebrowser 4 loops and parses all form data blocks 7, tracking the changes found using a parsing loop. Thebrowser 4 checks for further available data blocks 7 at each loop pass. The data block field values are packaged for possible SQL reference and uses, given each data block 7 can reference any field values on theform 6. Thebrowser 4 determines at each data block 7 having field level editing if changes were made. And when changes are found, the data block 7 is flagged for later inclusion in theform engine 10 update loop process. Once the data block 7 is flagged or when there are no changes, all field IDs and data from the data block 7 are collected by thebrowser 4 in the loop. The collected information is added to aDTO request package 25 to be sent to theserver 8 for further processing. - The loop process continues until all data blocks 7 have been processed and added into a
DTO request package 25. Thebrowser 4 sends theDTO request package 25 to theserver 8. When theserver 8 receives theDTO request package 25, theserver 8 prepares for processing the data blocks 7 added to theDTO request package 25. Theserver 8 examines all the data blocks 7 with the save option configured. Only those data blocks field values having embedded save logic are evaluated in the loop executed by theform engine 10. If is determined that there is no save option within a current data block 7, theform engine 10 continues on to the next data block 7. Otherwise, the current data block 7 does include save logic and theform engine 10 checks to see if substitutions are necessary. Substitutions apply to all embedded variable and external field references. Theform engine 10 carries out the substitutions and creates the finished SQL statement(s) for execution. - Afterwards, the
server 8 establishes a connection with theremote database server 8 and remote database(s) 12, 14, the server pass all SQLstatements using messages target database server 8 collects the results of SQL statement and adds them to a DTO resultspackage 26 to be sent to thebrowser 4. Theform engine 10 continues the data block parsing loop until all data blocks 7 have been evaluated. Once theform engine 10 is complete performing the parsing loop, theDTO results package 26 is sent to thebrowser 4. When thebrowser 4 receives theDTO results package 26, thebrowser 4 updates all forms fields with new or updated data. - Also, the data blocks 7 of the
form 6 can initially be created by a user using thebrowser 4. In this case, the user can initiate a save of the new createdform 6 and its respective data blocks 7. When this occurs, thebrowser 4 uses the parsing loop to parse all data blocks in theform 6 and package the information into aDTO request package 24 to be sent to the server for storage in either of the database(s) 12, 14. When theserver 8 receives theDTO request package 24, it processes the contents and sends them to theform engine 10 for further processing. Theform engine 10 using its parsing loop retrieves all the respective data block information and then formulates SQL queries that saves the data block information in either themetadata store 12 ordocument repository 14. Theserver 8 establishes connection with either of thedatabases - The live data form 6 is a novel and configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within a
browser 4.FIG. 2 is a process flow illustrating the steps for the live data form viewing process. - Before the data form 6 can be accessed, a user must log in as shown in
step 31. This first level of authentication only controls access to thebrowser 4 at a top level. Subsequent permissions are evaluated to determine if the connected user is allowed to use the live data form and to what degree, as shown instep 32. If use of the live data form is not granted, the ability to access and even view theform 6 is disabled. If, however, the user is allowed to use thedata form 6, as shown instep 33, then thebrowser 4 proceeds to download the assigned form components and render thefull form 6, as shown instep 34. - Unlike traditional rigid data forms, each live data form 6 is a custom collection of autonomous data blocks where each data block 7 is a collection of one or more custom SQL statements as needed to perform the defined query, insert, or update tasks associated with each data block 7.
- As a pre-requisite to using the
data form 6, a search query must be executed using the embedded search and index query interface, as described in U.S. patent application Ser. No. 13/247,536 (Nolij 9372), which is incorporated in its entirety herein, and at least one folder must be returned from the search. The live data form 6 automatically refreshes when one of the displayed folders or folder documents is selected, as shown instep 35, and the first step in the refresh process is for thebrowser 4 to pass key value data—typically a unique ID—associated with the selected folder or document to theserver 8 to be used in the refresh process, as shown instep 36. - After the
server 8 receives the key value data from thebrowser 4, it initiates a parsing loop through all data blocks 7 associated with thecurrent form 6, as shown instep 37. Eachform 6 can contain any number of data blocks 7, so the loop is configured to retrieve the first available data block 7, the continue monitoring for additional data blocks 7, as shown instep 38. Once the parsing loop has a data block 7, it first checks for embedded variables, as shown instep 39. Form data blocks 7 can include a number of embedded variables including folder ID, document ID, and end user ID as well as references to any fields located on any data blocks 7 on the form 7. Theform engine 10 parses all variables, as shown instep 40, replacing each variable with a corresponding value. It then constructs finished SQL statements in preparation for execution, as shown instep 41. - Prior to running any SQL, a target database is identified and an appropriate connection is opened to that database, as shown in
step 42. Once a database connection is opened for the current data block, the loop processor executes all SQL statements against the connected database, as shown instep 43. Upon completion of the SQL execution, the results of the SQL statement(s) are added to a Data Transfer Object (DTO) resultpackage 22 for delivery back to thebrowser 4, as shown instep 44. A Data Transfer Object is a design pattern used to transfer data between theserver 8 and thebrowser 4. After processing the SQL results, the loop processor moves onto the next data block until all data blocks have been parsed and the associated SQL executed. - The final piece of the live data form viewing process involves the server returning the full DTO results package to the originating
browser 4, as shown instep 45. Thebrowser 4 then loops through theDTO package 22, extracts all data values, as shown instep 46, and populates the live data form 6 with the extracted data, as shown instep 47. - As described herein, the inventive live data form 6 is a unique, configurable data form that allows multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within the
browser 4. Prior to performing any updates within the live data form 6, theform 6 must be refreshed as described inFIG. 2 .FIG. 3A-3B are process flows 50, 80 illustrating the steps for the live data form updating process. - As mentioned above, the
form 6 must be refreshed prior to any data updates being carried out. As such, the live data form viewing process must be completed, as shown instep 51 ofFIG. 3A . Depending on the form configuration, anywhere from none to some or even all of the data blocks 7 may allow updating. Those data blocks 7 that allow updating are enabled for data entry when thebrowser 4 performs a parsing loop through all data blocks 7 looking for the presence of update logic, as shown instep 52. At least one data block 7 must be configured with a save capability—meaning SQL insert and/or update logic—for the update logic check to be true. - If update logic is not found, as shown in
step 53, then any top level form save controls are disabled, as shown instep 54. If update logic is found, then those individual data blocks 7 are enabled for data entry and any top level form save controls are enabled in thebrowser 4, as shown instep 55. Prior to the now-enabled form save controls to be available for use, one or more data block fields must be edited and/or updated, as shown instep 56. Once one or more fields are updated, the user selection within thebrowser 4 of the appropriate form save control triggers the form save process, as shown instep 57. - Prior to the
server 8 evaluating and processing anyform 6 changes, thebrowser 6 must loop and parse all form data blocks 7, noting any changes, as shown instep 58. At each loop pass, thebrowser 4 checks for mare available data blocks 7, as shown instep 59. Since each data block 7 can reference any field values on the form, all data block field values must be packaged for possible SQL reference and use. At each data block 7 with field level editing enabled, thebrowser 4 checks if any changes were made, as shown instep 60, and if so, flags that data block 7 for later inclusion in theform engine 10 parsing loop, as shown instep 61. After the data block 7 is flagged, or in cases where changes were not made, thebrowser 4 collects all field IDs (identifiers uniquely identifying each field on the form) and data from the data block 7 now being processed in the loop, as shown instep 62. Once collected, all field IDs and data from the current data block 7 are added to aDTO request package 25 to be delivered to theserver 8 for processing, as shown instep 63. - The loop through all data blocks 7 continues using the parsing loop until all data blocks 7 have been processed, flagged (if appropriate), and added to the
DTO request package 25. Once theDTO request package 25 build is completed, thebrowser 4 submits theDTO request package 25 to theserver 8 for processing, as shown instep 64. Theserver 8 receives theDTO request package 25, as shown instep 65, and prepares theDTO package 25 for execution, as shown instep 66 ofFIG. 3B . - Once on the
server 8, theDTO package 25 is evaluated and all data blocks 7 with the save option configured are processed. Although all form data block field values are passed to theserver 8, only those data blocks 7 with embedded save logic are evaluated in theform engine 10 parsing loop, as shown instep 67. As the loop selects each data block 7, a check is made for the configured save option, as shown instep 68. If the save option is not detected, the current data block 7 is skipped and theform engine 10 moves on to the next data block 7. If the current data block 7 does contain save logic, then theform engine 10 checks to see if any substitutions are necessary, as shown instep 69. Substitutions apply to all embedded variables and external field references. Theform engine 10 performs any required substitutions, as shown instep 70, and then constructs the finished SQL statement(s) for execution, as shown instep 71. - Once the finished SQL statements are ready for execution, the
server 8 opens the proper remote database connection as needed for the current data block 7, as shown instep 72. Since each data block 7 is an autonomous data object, capable of connecting to virtually any external SQL database, eachdata form 6 is therefore able to join, query, and update any number and type of external databases through a single, seamless interface. Once the connection is established, theserver 8 passes all SQL statements to the target database(s) 12, 14 for execution, as shown instep 73. As each SQL statement is executed, the results of the SQL execution are collected and added to theDTO results package 26 for delivery back to thebrowser 4, as shown instep 74. - The
form engine 10 continues the data block parsing loop by checking for more data blocks 7, as shown instep 75. If more data blocks are found, the process repeats until all data blocks 7 have been evaluated. Upon loop completion, theserver 8 returns the completedDTO results package 26 to the originatingbrowser 4, as shown instep 76, which thebrowser 4 uses to refresh all form fields with new or updated data, as shown instep 77. - The invention provides a live data form having configurable arrangement permitting multiple data fields from multiple disparate databases to be aggregated into a single, seamless form within a browser. The invention allows a user to update the various data blocks used within the form without expanding or requiring any manual control. The invention also updates the respective contents of the data blocks in their respective databases that is stored remotely. The invention is configurable to operate in mobile systems as well as conventional computer systems that are connected on a network.
- Although the present invention has been shown and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention.
Claims (24)
1. A live data form system comprising:
a client that executes a browser that receives one or more user requests to view or update a live data form being stored remotely, the live data form includes a plurality of data blocks that include information that defines the live data form, the browser issues a first message with respect to viewing or updating the live data form; and
a server that receives the first message and executes a first routine that analyzes the contents of the first message and formulates one or more query statements associated with a data block to be executed by one or more remote databases, when the one or more remote databases finish performing the one or more query statements, the server issues a second message to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
2. The live data form system of claim 1 , wherein the one or more remote databases comprise a metadata store or a document repository.
3. The live data form system of claim 1 , the server prepares a DTO request to be associated with the second message.
4. The live data form system of claim 3 , wherein the server establishes remote connection with the one or more remote databases.
5. The live data form system of claim 4 , wherein the first routine parses the first message to formulate the one or more query statements.
6. The live data form system of claim 1 , wherein the first routine determines whether the data block needs to be updated by determining if a save logic is stored in the data block.
7. The live data form system of claim 6 , wherein the first message comprises a DTO package sent to the server.
8. The live data form system of claim 1 , wherein the data block comprises an autonomous data object capable of connecting to any remote database.
9. A method of viewing and updating a live data form comprising:
executing a browser on a client that receives one or more user requests to view or update the live data form being stored remotely, the live data form includes a plurality of data blocks that include information that defines the live data form, the browser issues a first message with respect to viewing or updating the live data form;
receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or query statements;
performing the one or more query statements by one or more remote databases; and
issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
10. The method of claim 1 , wherein the one or more remote databases comprise a metadata store or a document repository.
11. The method of claim 1 , the server prepares a DTO request to be associated with the second message.
12. The method of claim 3 , wherein the server establishes remote connection with the one or more remote databases.
13. The method of claim 4 , wherein the first routine parses the first message to formulate the one or more query statements.
14. The method of claim 1 , wherein the first routine determines whether the data block needs to be updated by determining if a save logic is stored in the data block.
15. The method of claim 6 , wherein the first message comprises a DTO package sent to the server.
16. The method of claim 1 , wherein the data block comprises an autonomous data object capable of connecting to any remote database.
17. A computer readable medium for storing a program being executed on a computer system, the programs performs a method of viewing and updating a live data form comprising:
executing a browser on a client that receives one or more user requests to view or update a live data form being stored remotely, the live data form includes a plurality of data blocks that include information that defines the live data form, the browser issues a first message with respect to viewing or updating the live data form;
receiving the first message and executing a first routine on a server that analyzes the contents of the first message and formulates one or more query statements;
performing the one or more query statements by one or more remote databases; and
issuing a second message by the server to the browser that includes the results of the one or more query statements executed by the one or more remote databases via the client to either view or update the live data form.
18. The computer readable medium of claim 17 , wherein the one or more remote databases comprise a metadata store or a document repository.
19. The computer readable medium of claim 17 , the server prepares a DTO request to be associated with the second message.
20. The computer readable medium of claim 19 , wherein the server establishes remote connection with the one or more remote databases.
21. The computer readable medium of claim 20 , wherein the first routine parses the first message to formulate the one or more query statements.
22. The computer readable medium of claim 17 , wherein the first routine determines whether the data block needs to be updated by determining if a save logic is stored in the data block.
23. The computer readable medium of claim 22 , wherein the first message comprises a DTO package sent to the server.
24. The computer readable medium of claim 17 , wherein the data block comprises an autonomous data object capable of connecting to any remote database.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/248,471 US20120089676A1 (en) | 2010-10-12 | 2011-09-29 | Live data form viewing and updating system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US39225210P | 2010-10-12 | 2010-10-12 | |
US13/248,471 US20120089676A1 (en) | 2010-10-12 | 2011-09-29 | Live data form viewing and updating system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120089676A1 true US20120089676A1 (en) | 2012-04-12 |
Family
ID=44764251
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/156,426 Expired - Fee Related US9143633B2 (en) | 2010-10-12 | 2011-06-09 | Browser-based scanning utility |
US13/247,337 Abandoned US20120089901A1 (en) | 2010-10-12 | 2011-09-28 | High performance cross platform document viewing |
US13/247,536 Abandoned US20120089612A1 (en) | 2010-10-12 | 2011-09-28 | Flexible fully integrated real-time document indexing |
US13/248,471 Abandoned US20120089676A1 (en) | 2010-10-12 | 2011-09-29 | Live data form viewing and updating system |
US13/251,540 Abandoned US20120089706A1 (en) | 2010-10-12 | 2011-10-03 | Mobile file uploader |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/156,426 Expired - Fee Related US9143633B2 (en) | 2010-10-12 | 2011-06-09 | Browser-based scanning utility |
US13/247,337 Abandoned US20120089901A1 (en) | 2010-10-12 | 2011-09-28 | High performance cross platform document viewing |
US13/247,536 Abandoned US20120089612A1 (en) | 2010-10-12 | 2011-09-28 | Flexible fully integrated real-time document indexing |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/251,540 Abandoned US20120089706A1 (en) | 2010-10-12 | 2011-10-03 | Mobile file uploader |
Country Status (2)
Country | Link |
---|---|
US (5) | US9143633B2 (en) |
WO (1) | WO2012050947A1 (en) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8983170B2 (en) | 2008-01-18 | 2015-03-17 | Mitek Systems, Inc. | Systems and methods for developing and verifying image processing standards for mobile deposit |
US10528925B2 (en) | 2008-01-18 | 2020-01-07 | Mitek Systems, Inc. | Systems and methods for mobile automated clearing house enrollment |
US9842331B2 (en) | 2008-01-18 | 2017-12-12 | Mitek Systems, Inc. | Systems and methods for mobile image capture and processing of checks |
US10891475B2 (en) | 2010-05-12 | 2021-01-12 | Mitek Systems, Inc. | Systems and methods for enrollment and identity management using mobile imaging |
US8849811B2 (en) * | 2011-06-29 | 2014-09-30 | International Business Machines Corporation | Enhancing cluster analysis using document metadata |
US8930940B2 (en) * | 2011-08-19 | 2015-01-06 | Yongyong Xu | Online software execution platform |
US8635270B2 (en) * | 2011-09-19 | 2014-01-21 | Verizon Patent And Licensing Inc. | Thread mechanism for media and metadata upload |
US9372890B2 (en) * | 2011-11-23 | 2016-06-21 | Infosys Technologies, Ltd. | Methods, systems, and computer-readable media for providing a query layer for cloud databases |
US9262420B1 (en) * | 2012-04-23 | 2016-02-16 | Google Inc. | Third-party indexable text |
US20130290860A1 (en) * | 2012-04-30 | 2013-10-31 | Olympus Integrated Technologies America, Inc. | Workspace interfaces, methods, and systems |
US20170118258A1 (en) * | 2012-06-27 | 2017-04-27 | Clearslide, Inc. | System and method for switching control with browser-based screen sharing |
JP2014010510A (en) * | 2012-06-28 | 2014-01-20 | Contec Co Ltd | Software development method |
KR20140055782A (en) * | 2012-11-01 | 2014-05-09 | 삼성전자주식회사 | Host apparatus and method for controlling the host apparatus |
US20140137190A1 (en) * | 2012-11-09 | 2014-05-15 | Rapid7, Inc. | Methods and systems for passively detecting security levels in client devices |
US9426209B2 (en) * | 2012-11-12 | 2016-08-23 | Sap Se | Upload/download of mobile applications using a MIME repository |
CN103870750B (en) * | 2012-12-12 | 2018-06-08 | 腾讯科技(武汉)有限公司 | A kind of method and device for realizing equipment safety scanning in a browser |
US10963535B2 (en) * | 2013-02-19 | 2021-03-30 | Mitek Systems, Inc. | Browser-based mobile image capture |
US10430894B2 (en) | 2013-03-21 | 2019-10-01 | Khoros, Llc | Gamification for online social communities |
US10547664B2 (en) * | 2013-03-21 | 2020-01-28 | Oracle International Corporation | Enable uploading and submitting multiple files |
JP6464587B2 (en) * | 2013-08-21 | 2019-02-06 | 株式会社リコー | Information processing system, information processing apparatus, information transmission method, and program |
US9542391B1 (en) | 2013-11-11 | 2017-01-10 | Amazon Technologies, Inc. | Processing service requests for non-transactional databases |
US11336648B2 (en) * | 2013-11-11 | 2022-05-17 | Amazon Technologies, Inc. | Document management and collaboration system |
US10599753B1 (en) | 2013-11-11 | 2020-03-24 | Amazon Technologies, Inc. | Document version control in collaborative environment |
US10691877B1 (en) | 2014-02-07 | 2020-06-23 | Amazon Technologies, Inc. | Homogenous insertion of interactions into documents |
US9646149B2 (en) * | 2014-05-06 | 2017-05-09 | Microsoft Technology Licensing, Llc | Accelerated application authentication and content delivery |
US9674261B2 (en) * | 2014-06-10 | 2017-06-06 | Sap Portals Israel Ltd. | ODBC access to external services |
US10826930B2 (en) * | 2014-07-22 | 2020-11-03 | Nuix Pty Ltd | Systems and methods for parallelized custom data-processing and search |
US20160036906A1 (en) * | 2014-08-04 | 2016-02-04 | Vixlet LLC | Dynamic adjustment of client thickness |
US20160306503A1 (en) * | 2015-04-16 | 2016-10-20 | Vmware, Inc. | Workflow Guidance Widget with State-Indicating Buttons |
US10657136B2 (en) * | 2015-12-02 | 2020-05-19 | International Business Machines Corporation | Searching data on a synchronization data stream |
EP3412021B1 (en) * | 2016-02-05 | 2021-08-11 | Telefonaktiebolaget LM Ericsson (publ) | A mobil terminal, a buffering module, and methods therein for uploading a file in a communications network |
US10248797B1 (en) * | 2016-06-30 | 2019-04-02 | Symantec Corporation | Systems and methods for zero-day DLP protection having enhanced file upload processing |
US10902462B2 (en) | 2017-04-28 | 2021-01-26 | Khoros, Llc | System and method of providing a platform for managing data content campaign on social networks |
US10860618B2 (en) | 2017-09-25 | 2020-12-08 | Splunk Inc. | Low-latency streaming analytics |
US11470161B2 (en) | 2018-10-11 | 2022-10-11 | Spredfast, Inc. | Native activity tracking using credential and authentication management in scalable data networks |
US10785222B2 (en) | 2018-10-11 | 2020-09-22 | Spredfast, Inc. | Credential and authentication management in scalable data networks |
US11570128B2 (en) | 2017-10-12 | 2023-01-31 | Spredfast, Inc. | Optimizing effectiveness of content in electronic messages among a system of networked computing device |
US10346449B2 (en) | 2017-10-12 | 2019-07-09 | Spredfast, Inc. | Predicting performance of content and electronic messages among a system of networked computing devices |
US10999278B2 (en) | 2018-10-11 | 2021-05-04 | Spredfast, Inc. | Proxied multi-factor authentication using credential and authentication management in scalable data networks |
US11050704B2 (en) | 2017-10-12 | 2021-06-29 | Spredfast, Inc. | Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices |
US10601937B2 (en) | 2017-11-22 | 2020-03-24 | Spredfast, Inc. | Responsive action prediction based on electronic messages among a system of networked computing devices |
US11061900B2 (en) | 2018-01-22 | 2021-07-13 | Spredfast, Inc. | Temporal optimization of data operations using distributed search and server management |
US10594773B2 (en) | 2018-01-22 | 2020-03-17 | Spredfast, Inc. | Temporal optimization of data operations using distributed search and server management |
US10855657B2 (en) | 2018-10-11 | 2020-12-01 | Spredfast, Inc. | Multiplexed data exchange portal interface in scalable data networks |
US10936585B1 (en) * | 2018-10-31 | 2021-03-02 | Splunk Inc. | Unified data processing across streaming and indexed data sets |
US10860726B2 (en) * | 2018-12-12 | 2020-12-08 | American Express Travel Related | Peer-to-peer confidential document exchange |
US10931540B2 (en) | 2019-05-15 | 2021-02-23 | Khoros, Llc | Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously |
US11393272B2 (en) | 2019-09-25 | 2022-07-19 | Mitek Systems, Inc. | Systems and methods for updating an image registry for use in fraud detection related to financial documents |
US12120078B2 (en) | 2020-09-18 | 2024-10-15 | Khoros, Llc | Automated disposition of a community of electronic messages under moderation using a gesture-based computerized tool |
US11438289B2 (en) | 2020-09-18 | 2022-09-06 | Khoros, Llc | Gesture-based community moderation |
US11128589B1 (en) | 2020-09-18 | 2021-09-21 | Khoros, Llc | Gesture-based community moderation |
US11924375B2 (en) | 2021-10-27 | 2024-03-05 | Khoros, Llc | Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source |
US11438282B2 (en) | 2020-11-06 | 2022-09-06 | Khoros, Llc | Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices |
US11627100B1 (en) | 2021-10-27 | 2023-04-11 | Khoros, Llc | Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel |
US11714629B2 (en) | 2020-11-19 | 2023-08-01 | Khoros, Llc | Software dependency management |
US12073061B2 (en) | 2022-06-24 | 2024-08-27 | Microsoft Technology Licensing, Llc | Systems for enabling a user to defer decisions presented in a web browser |
US12067070B2 (en) * | 2022-06-24 | 2024-08-20 | Microsoft Technology Licensing, Llc | Transferring link context from desktop application to browser |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624114B2 (en) * | 2006-06-05 | 2009-11-24 | Microsoft Corporation | Automatically generating web forms from database schema |
US7707487B2 (en) * | 2002-08-27 | 2010-04-27 | Spectrum K12 School Solutions, Inc. | Method and system for compliance forms and compliance forms user interface |
US7752326B2 (en) * | 2001-08-20 | 2010-07-06 | Masterobjects, Inc. | System and method for utilizing asynchronous client server communication objects |
US7991805B2 (en) * | 2003-06-11 | 2011-08-02 | Wtviii, Inc. | System for viewing and indexing mark up language messages, forms and documents |
US8224853B2 (en) * | 2005-11-02 | 2012-07-17 | Sourcecode Technologies Holdings, Inc. | Methods and apparatus for updating a plurality of data fields in an electronic form |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870549A (en) * | 1995-04-28 | 1999-02-09 | Bobo, Ii; Charles R. | Systems and methods for storing, delivering, and managing messages |
US6564321B2 (en) * | 1995-04-28 | 2003-05-13 | Bobo Ii Charles R | Systems and methods for storing, delivering, and managing messages |
US5694546A (en) * | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US6205415B1 (en) | 1996-04-01 | 2001-03-20 | Openconnect Systems Incorporated | Server and terminal emulator for persistent connection to a legacy host system with file transfer |
US6167567A (en) * | 1998-05-05 | 2000-12-26 | 3Com Corporation | Technique for automatically updating software stored on a client computer in a networked client-server environment |
US6289371B1 (en) * | 1998-09-30 | 2001-09-11 | Hewlett-Packard Company | Network scan server support method using a web browser |
US6519605B1 (en) * | 1999-04-27 | 2003-02-11 | International Business Machines Corporation | Run-time translation of legacy emulator high level language application programming interface (EHLLAPI) calls to object-based calls |
US6973091B1 (en) * | 1999-10-04 | 2005-12-06 | Hester Rex R | Enabling quality voice communications from web page call control |
US6351776B1 (en) * | 1999-11-04 | 2002-02-26 | Xdrive, Inc. | Shared internet storage resource, user interface system, and method |
US6782418B1 (en) * | 2000-01-24 | 2004-08-24 | General Electric Company | Method and apparatus for secure data file uploading |
US7738688B2 (en) * | 2000-05-03 | 2010-06-15 | Aperio Technologies, Inc. | System and method for viewing virtual slides |
US20020174206A1 (en) | 2001-05-21 | 2002-11-21 | Moyer Alan L. | Web-based file manipulating system |
AU2002313583A1 (en) * | 2001-08-01 | 2003-02-17 | Actona Technologies Ltd. | Virtual file-sharing network |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US6944859B2 (en) * | 2003-01-30 | 2005-09-13 | Epocrates, Inc. | System and method for automatically installing data on a handheld computer |
US7676448B2 (en) * | 2004-03-12 | 2010-03-09 | Microsoft Corporation | Controlling installation update behaviors on a client computer |
PL1769342T4 (en) * | 2004-05-25 | 2020-04-30 | Muxi Tecnologia Em Pagamentos S.A. | System for accessing a pos terminal, method for downloading and updating applications and method for performing electronic operation using such a system |
US20060085516A1 (en) * | 2004-10-01 | 2006-04-20 | Farr Bradford H | Method and apparatus for providing a work flow web application that receives image data via a web browser and exports the image data to a document processing server |
US20060130045A1 (en) * | 2004-11-19 | 2006-06-15 | Jonathan Wesley | Systems and methods for dynamically updating computer systems |
US7818734B2 (en) * | 2005-01-21 | 2010-10-19 | Callwave, Inc. | Methods and systems for transferring data over a network |
US7933632B2 (en) * | 2005-09-16 | 2011-04-26 | Microsoft Corporation | Tile space user interface for mobile devices |
US7797694B2 (en) * | 2005-09-19 | 2010-09-14 | Adc Telecommunications, Inc. | Mechanism to upgrade system capability without affecting service |
US7810723B2 (en) * | 2005-11-17 | 2010-10-12 | Hypercom Corporation | System and method to purchase applications by a point of sale terminal |
US20070150892A1 (en) * | 2005-12-22 | 2007-06-28 | Samsung Electronics Co., Ltd. | Scheduled delivery of software download |
KR100746026B1 (en) * | 2006-01-04 | 2007-08-06 | 삼성전자주식회사 | Apparatus and method for installing software |
US10200500B2 (en) * | 2008-11-10 | 2019-02-05 | The Directv Group, Inc. | Method and apparatus for managing software downloads in a broadcast communication system |
-
2011
- 2011-06-09 US US13/156,426 patent/US9143633B2/en not_active Expired - Fee Related
- 2011-09-28 US US13/247,337 patent/US20120089901A1/en not_active Abandoned
- 2011-09-28 US US13/247,536 patent/US20120089612A1/en not_active Abandoned
- 2011-09-29 WO PCT/US2011/053854 patent/WO2012050947A1/en active Application Filing
- 2011-09-29 US US13/248,471 patent/US20120089676A1/en not_active Abandoned
- 2011-10-03 US US13/251,540 patent/US20120089706A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752326B2 (en) * | 2001-08-20 | 2010-07-06 | Masterobjects, Inc. | System and method for utilizing asynchronous client server communication objects |
US7707487B2 (en) * | 2002-08-27 | 2010-04-27 | Spectrum K12 School Solutions, Inc. | Method and system for compliance forms and compliance forms user interface |
US7991805B2 (en) * | 2003-06-11 | 2011-08-02 | Wtviii, Inc. | System for viewing and indexing mark up language messages, forms and documents |
US8224853B2 (en) * | 2005-11-02 | 2012-07-17 | Sourcecode Technologies Holdings, Inc. | Methods and apparatus for updating a plurality of data fields in an electronic form |
US7624114B2 (en) * | 2006-06-05 | 2009-11-24 | Microsoft Corporation | Automatically generating web forms from database schema |
Also Published As
Publication number | Publication date |
---|---|
US20120089612A1 (en) | 2012-04-12 |
US20120089706A1 (en) | 2012-04-12 |
US20120089901A1 (en) | 2012-04-12 |
US20120086989A1 (en) | 2012-04-12 |
US9143633B2 (en) | 2015-09-22 |
WO2012050947A1 (en) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120089676A1 (en) | Live data form viewing and updating system | |
US11533383B2 (en) | Templating data service responses | |
US11615151B2 (en) | Query language for selecting object graphs from application metadata | |
US20220035600A1 (en) | API Specification Generation | |
JP6050272B2 (en) | Low latency query engine for APACHE HADOOP | |
US9015651B2 (en) | Gateway data distribution engine | |
KR101925165B1 (en) | Enriching database query responses using data from external data sources | |
US9146955B2 (en) | In-memory, columnar database multidimensional analytical view integration | |
EP3173951B1 (en) | Integrated framework for secured data provisioning and management | |
US10453165B1 (en) | Computer vision machine learning model execution service | |
US20140089786A1 (en) | Automated Processor For Web Content To Mobile-Optimized Content Transformation | |
US20060210026A1 (en) | Dynamic multilingual resource support for applications | |
EP2369480A2 (en) | Mashup infrastructure with learning mechanism | |
US9747353B2 (en) | Database content publisher | |
JP6415449B2 (en) | Mobile-ready systems and processes for intelligent research platforms | |
NO334809B1 (en) | Method, system and device for exploring and connecting to data sources | |
US20190073600A1 (en) | Skipping maintenance mode of applications | |
US9652740B2 (en) | Fan identity data integration and unification | |
Tody et al. | Simple spectral access protocol version 1.1 | |
US7840545B2 (en) | Method and system for providing access to a database | |
US12099498B2 (en) | Auto refresh of directory tables for stages | |
US9965533B2 (en) | Reverse application programming interface (API) endpoint creation process and standardized schema | |
US9032193B2 (en) | Portable lightweight LDAP directory server and database | |
US8930426B2 (en) | Distributed requests on remote data | |
US20190026360A1 (en) | Data processing using an enumeration utility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NOLIJ CORPORATION, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:COLLINS, JOHN J.;LANGFORD, SEAN J.;REEL/FRAME:027260/0767 Effective date: 20111104 |
|
AS | Assignment |
Owner name: LEXMARK INTERNATIONAL TECHNOLOGY S.A., SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOLIJ CORPORATION;REEL/FRAME:030513/0337 Effective date: 20120701 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |