US5754772A - Transaction service independent HTTP server-to-transaction gateway - Google Patents

Transaction service independent HTTP server-to-transaction gateway Download PDF

Info

Publication number
US5754772A
US5754772A US08/622,099 US62209996A US5754772A US 5754772 A US5754772 A US 5754772A US 62209996 A US62209996 A US 62209996A US 5754772 A US5754772 A US 5754772A
Authority
US
United States
Prior art keywords
transaction
processing system
predetermined
data
request
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.)
Expired - Lifetime
Application number
US08/622,099
Inventor
Shawn T. Leaf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Priority to US08/622,099 priority Critical patent/US5754772A/en
Assigned to UNISYS CORPORATION reassignment UNISYS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEAF, SHAWN T.
Application granted granted Critical
Publication of US5754772A publication Critical patent/US5754772A/en
Assigned to UNISYS HOLDING CORPORATION, UNISYS CORPORATION reassignment UNISYS HOLDING CORPORATION RELEASE BY SECURED PARTY Assignors: CITIBANK, N.A.
Assigned to UNISYS CORPORATION, UNISYS HOLDING CORPORATION reassignment UNISYS CORPORATION RELEASE BY SECURED PARTY Assignors: CITIBANK, N.A.
Assigned to DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE reassignment DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE PATENT SECURITY AGREEMENT (PRIORITY LIEN) Assignors: UNISYS CORPORATION
Assigned to DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE reassignment DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE PATENT SECURITY AGREEMENT (JUNIOR LIEN) Assignors: UNISYS CORPORATION
Assigned to GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT reassignment GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT SECURITY AGREEMENT Assignors: UNISYS CORPORATION
Assigned to UNISYS CORPORATION reassignment UNISYS CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: DEUTSCHE BANK TRUST COMPANY
Assigned to UNISYS CORPORATION reassignment UNISYS CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Anticipated expiration legal-status Critical
Assigned to UNISYS CORPORATION reassignment UNISYS CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • This invention generally relates to gateway processors for providing access to database management systems by browser programs, and more particularly to a generalized gateway processor for making various transaction databases accessible by browser programs.
  • Web Browsers are quickly becoming a de facto user interface standard because of their ability to interpret and display information having standard formats (e.g., HyperText Markup Language (HTML), standard text, GIF, etc.).
  • Client software programs popularly referred to as Web Browsers (e.g., Mosaic, Lynx, etc.), execute on client systems and issue requests to server systems.
  • the server systems typically execute HyperText Transport Protocol (HTTP) server programs which process requests from the Web Browsers and deliver data to them.
  • HTTP HyperText Transport Protocol
  • the system that executes a HTTP server program and returns data to the Web Browser will hereinafter be referred to as a Web Server System.
  • An HTTP server program itself will be referred to as Web Server.
  • a Web Server System has access to on-line documents that contain data written in HyperText Markup Language (HTML).
  • HTML documents contain display parameters, capable of interpretation by a Web Browser, and references to other HTML documents and Web Servers (Source: World Wide Web: Beneath the Surf, from UCL Press, by Mark Handley and Jon Crowcroft, on-line at http://www.cs.ucl.ac.uk/staff/jon/book/book.html).
  • the Common Gateway Interface is a standard for interfacing external applications, such as Web Browsers, to obtain information from information servers, such as Web Servers.
  • the CGI allows programs (CGI programs) to be referenced by a Web Browser and executed on the Web Server system. For example, to make a UNIX database accessible via the World Wide Web, a CGI program is executed on the Web Server system to transmit information to the database engine, receive the results from the database engine, and format the data in an HTML document which is returned to the Web Browser.
  • a disadvantage with the CGI program approach described above is that the application developer must be acquainted with the HTML, the CGI, and the database engine.
  • a different CGI program may be required for each different database, thus adding to the cost of creating and maintaining the database access for the Web Browser.
  • Businesses are faced with the challenge of adapting their present usage of yesterday's technology to new opportunities that are made available with the World Wide Web.
  • Most business application software and underlying databases are not equipped to handle interaction with Web Browsers. It would therefore be desirable to have a flexible and efficient means for allowing interoperability between business application software and the World Wide Web.
  • the present invention makes prior art on-line transaction processing (OLTP) systems and their associated databases accessible using HyperText Transport Protocol (HTTP) interfaces.
  • the response time for an on-line user seeking HTTP access to the transaction processing system is minimized by pre-establishing a transaction gateway client having a static connection to the transaction processing system.
  • the HTTP access to the transaction processing system is available for multiple concurrent users.
  • the invention further provides a gateway that is independent of the underlying service provided by the transaction processing system, whereby the same gateway client is capable of usage with different databases and operations thereon.
  • An on-line transaction processing system is made accessible to Web Browsers by establishing a predetermined plurality of transaction gateway clients to receive HTTP requests that are received by a Web Server from the Web Browsers. Concurrent processing of multiple transaction requests from the Web Browsers is performed by the plurality of transaction gateway clients. Each transaction gateway client pre-establishes a static connection with the on-line transaction processing system. The pre-established connection allows requests from the Web Browsers to be quickly routed to the transaction processing system. Time is saved by elimination of the traditional steps of connecting with and then disconnecting from the transaction processing system for each request from a browser program. The gateway client translates between HTTP formatted requests from the Web Browsers and the request format expected by the on-line transaction processing system.
  • the invention handles multiple concurrent requests from the Web Browsers and makes the requests available for concurrent processing by the on-line transaction processing system.
  • a predetermined number of instances of the transaction gateway client are established to be available for performing the necessary translations.
  • Each of the instances of the transaction gateway client establishes a static connection with the on-line transaction processing system as described above.
  • requests are received by the Web Server from the Web Browsers, the requests are routed to an available one of the instances of the transaction gateway client.
  • Each instance of the transaction gateway client is capable of processing one request at a time.
  • the transaction gateway client of the present invention is independent of the underlying service initiated by the on-line transaction processing system.
  • the transaction gateway client may be utilized with different database managers (the database manager being the service), so long as the on-line transaction processing system is capable of utilizing the services provided by the different database managers.
  • Multiple styles of transaction gateway clients may be established, however, to interface with different styles of on-line transaction processing systems and to accommodate differences in data format requirements.
  • the independence of the transaction gateway client from the underlying service is accomplished with each HTTP request from a Web Browser program specifying a requested service and a respective predetermined mapping file for each available service.
  • a predetermined HyperText Markup Language (HTML) template file is also established for each desired service.
  • Each of the predetermined mapping files sets forth the format and content of the data buffer that is used for communicating between the transaction gateway client and the on-line transaction processing system for the particular service.
  • a mapping file directs the transaction gateway client where to write data to and read data from the data buffer for predetermined fields of the database.
  • the HTML template file is used in creating an HTML document that is returned to a Web Browser.
  • the transaction gateway client reads data values from a data buffer returned from the transaction processing system (as specified by the mapping file), the data values are written to appropriate locations in the HTML document as directed by information contained in the HTML template file.
  • FIG. 1 is a functional block diagram of a computing environment in which a transaction system and a Web Server interoperate in a single system;
  • FIG. 2 is a functional block diagram of an exemplary computing environment in which the present invention could be used;
  • FIG. 3 is a functional block diagram of the software components that make a transaction database accessible to one or more Web Browsers;
  • FIG. 4 is a dataflow diagram showing the flow of data between the components of the exemplary system
  • FIG. 5 is a flowchart of the steps for initializing an environment on a Web Server System to provide Web Browser access to a transaction database;
  • FIG. 6 shows the relationship between the Web-View File and the View Buffer
  • FIG. 7 illustrates a portion of the HTML Template created for the View Definition of FIG. 8
  • FIG. 8 illustrates a sample View Definition
  • FIG. 9 is a sample screen display of the image produced by a Web Browser from an HTML document based on the HTML Template;
  • FIG. 10 is a flowchart of the general processing of the Web Server
  • FIG. 11 is a flowchart of the processing performed by a Gateway Link thread.
  • FIG. 12 is a flowchart of the processing performed by each of the instances of the Transaction Gateway Client.
  • FIGS. 1 and 2 are functional block diagrams of exemplary computing environments in which the present invention could be used to make a transaction processing system interoperable with the World Wide Web.
  • FIG. 1 is a functional block diagram of an environment in which the transaction system and the Web Server operate in a single system
  • FIG. 2 shows an environment in which the Web Server System acts as a front-end for the Enterprise Server System.
  • FIG. 1 is a functional block diagram of a computing environment in which a transaction system and a Web Server interoperate in a single system.
  • a plurality of micro-computers designated as Web Browser 10, 12, 14, and 16, are coupled to a Web Server 18 via Network 20.
  • the Network may be an internal local area network or the Internet.
  • Each of the Web Browsers 10-16 is comprised of software for browsing the World Wide Web, such as Mosaic, Netscape Navigator, etc., and a suitable micro-computer or computer workstation along with operating system software.
  • the Web Server may be off-the-shelf software such as the Microsoft Internet Information Server and Netscape Commerce Server.
  • the typical operating mode for the Web Server 18 is to receive requests from the Web Browsers 10-16 and return the requested data from the Pre-formatted Data element 22.
  • the Pre-formatted Data consists of HTML documents.
  • the Server System 24 may be any data processing system that is suitable for transaction processing applications, such as the 2200 Series, A-Series, and UNIX based data processing systems from Unisys Corporation.
  • the exemplary Transaction Processing System 26 is intended to encompass transaction manager software, such as Open/OLTP Transaction Manager software from Unisys, user implemented Open/OLTP services (application programs), and Open/OLTP resource managers (such as a database management system).
  • the Open/OLTP transaction model is described in the X/Open Guide, Distributed Transaction Processing Reference Model as published by the X/Open Company Ltd., U.K.
  • the present invention would be applicable to other non-standard or proprietary transaction based systems, as well as to other data servers in general.
  • the Transaction Processing System 26 serves data from the Database 28 to the Transaction Clients 30, 32, 34, and 36.
  • the Transaction Clients 30-36 are coupled to the Transaction Processing System via Line 38, of which the underlying technology is driven by the application of the Transaction Processing System 26.
  • the Transaction Gateway Client 40 allows the Web Server 18 to interoperate with the Transaction Processing System 26.
  • a predetermined Open/OLTP service as defined by an application programmer, is referenced in an HTML document in the Pre-formatted Data element 22.
  • a Web Browser 10, 12, 14, or 16 selects the service, the request is routed to the Web Server 18, which in turn routes the request to the Transaction Gateway Client.
  • the Transaction Gateway Client determines the requested service and forwards the necessary information to the Transaction Processing System 26.
  • the Transaction Processing System processes the request against the Database 28 according to the specified request (e.g., select, update, delete).
  • the Transaction Processing System returns data and/or status information to the Transaction Gateway Client, which in turn formats the data into an HTML document that is forwarded to the Web Server.
  • the Web Server sends the HTML document to the requesting Web Browser.
  • FIG. 2 is a functional block diagram of an exemplary computing environment in which the present invention could be used.
  • the environment of FIG. 2 differs from that of FIG. 1 in that the Web Server 18 and the Database 28 reside on separate data processing systems.
  • the Web Server 18 resides on a Web Server System 50, and the Database 28 resides on an Enterprise Server System 52.
  • the Web Server System 50 may be any class machine that is capable of running a Web Server 18 along with a Distributed Transaction Processor 54.
  • the Distributed Transaction Processing System 54 is similar to the Transaction Processing System 26 of FIG. 1 in that both are Open/OLTP compatible.
  • the Transaction Processing System 54 of FIG. 2 is designated as Distributed to make clear that a transaction is formatted on the Web Server System 50 and forwarded to the Enterprise Server System for processing.
  • a suitable Distributed Transaction Processing System 54 for the Web Server System is the Transactional Desktop software product from Unisys.
  • the Transactional Desktop software is Open/OLTP compliant, but does not have the required components for processing service requests. However, the Transactional Desktop software is capable of initiating service requests.
  • the exemplary Enterprise Server System is a 2200 Series data processing system from Unisys and also includes a Distributed Transaction Processing System 56.
  • the Distributed Transaction Processing System 56 is intended to encompass the same functionality as the Transaction Processing System 26. However, it is designated as Distributed to be compatible with the Distributed Transaction Processing System 54.
  • the Distributed Transaction Processing System 54 and the Distributed Transaction Processing System 56 are coupled via Network 58.
  • the network interface for Network 58 is separate from the network interface for Network 20.
  • the environment of FIG. 2 may be preferable to the environment of FIG. 1 in that the Web Server System 50 maybe used prevent request from the Web Browsers 10-16 from entering Network 58.
  • the Windows NT operating system is configurable to prevent routing of data packets between two network interfaces. In this fashion, the only traffic that is allowed on Network 58 in response to requests on Network 20 is in the form of Open/OLTP service calls which are referenced by HTML documents.
  • FIG. 3 is a functional block diagram of the software components that make a transaction database accessible to one or more Web Browsers. Before discussing the various software components, it may be useful to illustrate a high level data flow between the components.
  • the data flow is illustrated by the labeled directional arrows 72, 74, 76, and 78.
  • the Web Server 18 receives Uniform Resource Locator (URL) character strings from the Web Browsers 10, 12, 14, and 16. URL character strings are passed to the Transaction Gateway Client instances 40, which in turn translate the URL character strings into View Buffers. View Buffers are passed to the Distributed Transaction Processing System 54 as shown by Line 74, and in turn passed on to the Distributed Transaction Processing System 56.
  • a View Bohfer is a data structure that is understood by the Open/OLTP style Distributed Transaction Processing Systems 54 and 56. The invention would be equally applicable to transaction and/or database systems which expect different data structures.
  • the Distributed Transaction Processing System 56 returns View Buffers to the Distributed Transaction Processing System 54, which in turn returns View Buffers to the Transaction Gateway Client instances 40.
  • the Transaction Gateway Client instances transform the View Buffers into HyperText Markup Language documents which are returned to the Web Server 18 as shown by Line 78.
  • the Web Server returns the HTML documents to the respective Web Browsers.
  • the first component is the Gateway Link Thread 82 and the second is the Transaction Gateway Client 40.
  • Web Servers such as the Netscape Commerce Server support multiple threads. That is, a single Web Server process is multiplexed between the threads.
  • the Web Server software i.e., Netscape Commerce Server
  • the Web Server software is configured with a Dynamic Link Library function designated as the Gateway Link.
  • Each of the Gateway Link threads 82, 84, and 86 correspond to a URL received from a respective one of the Web Browsers 10-16.
  • the basic function of a Gateway Link is to establish a connection with an available Transaction Gateway Client instance 40, forward a URL to the Transaction Gateway Client instance, receive an HTML document from the Transaction Gateway Client instance, and return the HTML document to the respective Web Browser.
  • the Gateway Link threads are designated with dashed lines to indicate that their existence is dynamic.
  • the second main software component is the Transaction Gateway Client 40.
  • the main function of the Transaction Gateway Client is to transform a request which is in the form of a URL from a Web Browser 10-16 into a format which is understandable by the Distributed Transaction Processing Systems 54 and 56, and transform the data returned from the Distributed Transaction Processing Systems 54 and 56 into a HTML document that is returned to a Gateway Link.
  • a predetermined number of Transaction Gateway Client instances are started and available to process requests from the Web Browsers 10-16.
  • Each of the Transaction Gateway Client instances processes one request at a time.
  • An equally suitable approach would be to have one Transaction Gateway Process instance with a multi-thread capability.
  • Each of the Transaction Gateway Client instances creates an instance of a Named Pipe.
  • the instances of the Named Pipe are collectively referenced as 102.
  • An instance of the Named Pipe is used for communicating between one of the Gateway Link threads 82-86 and an available one of the Transaction Gateway Client instances.
  • each instance of the Transaction Gateway Client 40 establishes a connection with the Distributed Transaction Processing System 54.
  • This connection is established prior to a Transaction Gateway Client receiving a request from a Web Browser and maintained for the life of the processor instance so that time is not wasted in connecting and disconnecting every time a request appears.
  • the connection is made with the tpinit program call to the Distributed Transaction Processing System 54.
  • each of the Transaction Gateway Client instances has a preestablished and continuous connection with the Distributed Transaction Processing System 54.
  • the connections between the Transaction Processing System Gateway instances and the Distributed Transaction Processing System are collectively referenced as 104.
  • Connections between the Distributed Transaction Processing Systems 54 and 56 are established as requests are forwarded from the Transaction Gateway Client instances.
  • the connections are collectively referenced as Lines 106.
  • the connections are designated with dashed lines to indicate that the connections are dynamically established and undone (as compared to the static connections between the Transaction Gateway Client instances 40 and the Distributed Transaction Processor 54).
  • FIG. 4 is a dataflow diagram showing the flow of data between the components of the exemplary system.
  • the Web Browser 10 makes a request for an HTML document to the Web Server 18 in the form a URL character string as shown by Line 1.
  • the Web Server then returns a predetermined HTML document to the Web Browser as shown by Line 2.
  • the data flow of Lines 1 and 2 is intended to illustrate the initial steps for initiating a transaction from a Web Browser.
  • Line 3 shows the URL forwarded from the Web Browser 10 to the Web Server 18 in response to an action initiated by the user of the Web Browser.
  • the Web Server receives the URL and passes it along to the Transaction Gateway Client 40 as shown by Line 4.
  • the Transaction Gateway Client 40 transforms the input URL into a View Buffer, which at Line 5, is passed to the Distributed Transaction Processing System 54.
  • the Distributed Transaction Processing System 54 forwards the View Buffer to the appropriate resource manager (not shown) and receives the results of processing the transaction in a View Buffer.
  • the View Buffer with the transaction results is returned to the Transaction Gateway Client 40 as shown by Line 6.
  • the Transaction Gateway Client extracts the transaction results from the View Buffer and inserts the transaction results into an HTML document.
  • the HTML document with the transaction results is forwarded to the Web Server 18.
  • the Web Server then transmits the HTML document with the transaction results to the Web Browser 10.
  • FIG. 5 is a flowchart of the steps for initializing an environment on a Web Server System 50 to provide Web Browser access to a transaction database.
  • FIG. 6 illustrates the content of a View File 308, a Web-View File 310, and a View Buffer 312.
  • FIG. 7 illustrates a portion of an HTML Template 314.
  • the View File 308 is used by the Distributed Transaction Processing System 54 in allocating memory for a View Buffer 312, the contents of which is used in communicating with the Distributed Transaction Processing System 56.
  • the View Buffer is an area of Web Server System memory that is used to store a data structure that contains data to be sent to the Distributed Transaction Processing System or that contains data received therefrom.
  • a View File contains a description of the fields that make up a data structure which is used by the transaction processing system service.
  • the exemplary Distributed Transaction Processing System 54 includes a software tool, referred to as the View Compiler, for establishing a View File 308 based on an input View Definition.
  • FIG. 8 illustrates a sample View Definition 316.
  • a View Definition describes the data that may be input to or output from the Distributed Transaction Processing System 54.
  • the sample View Definition contains selected fields of an employee database named EMP -- BUF.
  • the lines that begin with a "#" are comment lines and are not part of the definition.
  • the designation carray describes a data type of an array of characters.
  • the second column of the View Definition 316 is headed by the identifier cname in the comment line.
  • the names listed in this column are the corresponding names as they are referenced within a data structure in a C language or Visual Basic language program.
  • the third column of the View Definition is headed by the identifier fbname in the comment line.
  • the names listed in this column are used in mapping fields named in the HTML Template 314.
  • the fourth column of the View Definition is headed by the identifier count in the comment line.
  • the count is number of occurrences of the associated field.
  • the fifth column of the View Definition is headed by the identifier flag in the comment line. This field is not utilized in the present invention.
  • the sixth column of the View Definition is headed by the identifier size in the comment line.
  • the size designates the number of bytes required in the View Buffer 312 for storage of the respective field when the size of the data type is variable.
  • the seventh column of the View Definition is headed by the identifier null in the comment line.
  • the null values are the values that are stored in the View Buffer 312 if the field is not utilized in an HTML form.
  • a Web-View File 310 is established on the Web Server System 50.
  • a Web-View File is created for each View File.
  • the Web-View File contains a mapping between the database fields (fbname) named in the View Definition 316 and their respective positions in the View Buffer 312.
  • a Web-View File is used in writing data to and extracting data from a View Buffer.
  • the mappings defined in the Web-View File are dependent upon the specifications for an interface between application programs and the underlying database system. In the exemplary system, the mappings are governed by the Open/OLTP transaction processing interface. Those skilled in the art will recognize that mappings for other systems could be constructed according to the programming interface specifications.
  • FIG. 6 shows the relationship between the Web-View File 310 and the View Buffer 312.
  • the Web-View File contains pairs of field names and offsets.
  • the Field names correspond to the names in the fbname column of the View Definition 316.
  • the respective paired offset indicates a byte offset into the View Buffer 312.
  • the data for Field name 1 is at a location in the View Buffer as referenced by Line 322
  • the data for Field name 2 is at a location in the View Buffer as referenced by Line 324
  • the data for Field name 3 is at a location in the View Buffer as referenced by Line 326
  • the data for Field name n is at a location in the View Buffer as referenced by Line 328.
  • an HTML Template is established on the Web Server System 50.
  • An HTML Template is created for each View File.
  • the HTML Template contains an HTML document that may be displayed by a Web Browser 10-16.
  • the HTML Template may be viewed as a blank form.
  • the Transaction Gateway Client 40 transfers data from a View Buffer 312 into an HTML document taking the form of the HTML Template.
  • the HTML document is returned to the Web Browser.
  • FIG. 7 illustrates a portion of the HTML Template 314 created for the View Definition 316 of FIG. 8.
  • the fbnames from the View Definition have place holders in the HTML Template for inserting data values, either by the Transaction Gateway Client 40 or by the user of the Web Browser.
  • the defined HTML Template may be used to display information to the user of a Web Browser as well as to solicit information from the user.
  • Step 332 a predetermined number of Gateway Client instances are started on the Web Server System 50.
  • Step 334 starts the Web Server.
  • FIG. 9 is a sample screen display of the image produced by a Web Browser from an HTML document based on the HTML Template 314.
  • the HTML document displayed in FIG. 9 is the result of a exemplary scenario in which a blank form (e.g., the image of FIG. 9 without the employee data) is initially displayed by the Web Browser. The user then enters a number in the Employee # field of the form, specifies the Select Operation, and clicks on the Transmit button.
  • the URL is constructed in the Location field of the Web Browser display.
  • the Uniform Resource Identifier is the subset of the URL that identifies the resource on the server. For example, for the URL:
  • the Web Server 18 optionally uses the first portion (/RT68/) of the URI to determine which gateway will process the request. Additionally, the Web Server optionally uses the last portion (.tx) to determine that the Gateway Link 82 should be invoked.
  • the Transaction Gateway Client 40 uses the middle portion (EMPDBSVC) to identify the Open/OLTP service routine to call, and the query string is used to identify the which View Buffer to use and which values to set. Note that the query string is only used with the ⁇ GET ⁇ HTTP method, and contains data equivalent to the request content of an HTTP ⁇ POST ⁇ method. The present invention allows both GET and POST HTTP methods.
  • EMPDBSVC middle portion
  • FIG. 10 is a flowchart of the general processing of the Web Server 18.
  • the Web Server waits for a connection from a Web Browser 10-16. Once a connection is established, a thread is initiated to interact with the Web Browser as indicated by Line 404. The Web Server then returns to wait for connections from other Web Browsers and continues to Step 406 to process the request.
  • Step 406 the connection with the Web Browser 10-16 is accepted and the URL that contains the request is read.
  • the processing to be performed for the request is dependent upon the Multipurpose Internet Mail Extension (MIME) type or the path prefix in the URL (e.g., "/RT68" from FIG. 9).
  • MIME Multipurpose Internet Mail Extension
  • the MIME type and path prefix may be used alone or in combination to activate predetermined gateway software.
  • Customized MIME types and path prefixes are configurable with the Web Server 18. For example, a combination of the MIME type and usage of the path prefix may be configured so that all requests ending with ".tx" and beginning with "/XYZ/” go to one gateway, all requests ending with “.tx” and beginning with “/ABC/” go to a different gateway.
  • the selection Step 410 directs which processing path is followed.
  • Gateway Link Processing For a MIME type or path prefix dictating a transaction, as indicated by Block 412, Gateway Link Processing (FIG. 11) is initiated at Step 414.
  • the Gateway Link Processing forwards the request to the Transaction Gateway Client 40, and returns to the Web Browser an HTML document that is constructed by the Transaction Gateway Client.
  • MIME types as indicated by Block 416, include text/HTML, text/plain, image/gif, image/jpeg, and are usually handled by the Web Server's 18 "send-file" function or other customized gateway processing as shown by Step 418.
  • Step 420 the connection with the Web Browser is closed to complete the thread.
  • FIG. 11 is a flowchart of the processing performed by a Gateway Link thread 82.
  • a Gateway Link obtains a connection with an available instance of a Transaction Gateway Client 40, forwards the transaction request to the Transaction Gateway Client, receives from the Transaction Gateway Client an HTML document containing the transaction results, and returns the HTML document to the Web Browser.
  • the identification of the Named Pipe 102 is obtained from configuration information that is preestablished with the Web Server.
  • the other configuration data determines which request headers will be passed to the Transaction Gateway Client. Some options include authentication data, URI, document root, and Web Browser IP address.
  • GET and POST are the two methods used in the HTTP to transfer data contained in a HTML form (request input) to the Web Server 18.
  • request input the input is available directly as part of the HTTP request.
  • POST the input must be read from the Web Browser 10-16 over the TCP/IP socket connection.
  • Step 454 determines which method by which the HTML data is to be obtained, and Step 456 obtains the HTML data via the TCP/IP socket connection.
  • a request is made to the operating system for a connection with an instance of the Named Pipe 102.
  • the Windows NT operating system provides the underlying software for management of the Named Pipe. If an instance of the Pipe is available, a connection is returned immediately. Otherwise, the operating system will wait for a programmable period of time for an instance to become available. If the period of time expires before a connection is available, an indicative status code is returned to the Gateway Link thread. The Gateway Link thread may then return an appropriate error message to the requesting Web Browser 10, 12, 14, or 16.
  • Step 460 sends the URL to an instance of the Transaction Gateway Client 40.
  • Step 462 then initiates a request to the operating system to read a response from the Pipe.
  • the operating system suspends the thread processing until a response is available from the instance of the Transaction Gateway Process at the other end of the Pipe.
  • the operating system returns an HTML document to the Gateway Link thread after the instance of the Transaction Gateway Process sends the HTML document.
  • the Gateway Link is not limited to HTML, and part of the response from the Transaction Gateway Client indicates the MIME type of the data being returned.
  • the types include, but are not limited to, text/plain, text/html, image/gif, and image/jpg.
  • Step 464 determines the type of data returned from the Transaction Gateway Client.
  • the Gateway Link notifies the Web Browser 10-16 of the content type, and then sends the data at Step 466.
  • Step 468 returns control to the Web Server Processing of FIG. 10.
  • FIG. 12 is a flowchart of the processing performed by each of the instances of the Transaction Gateway Client 40.
  • the Transaction Gateway Client receives a URL that identifies a transaction, creates a View Buffer 312 to send to the Distributed Transaction Processing System 54, receives a View Buffer from the Distributed Transaction Processing System, and creates an HTML document which is then returned to the Gateway Link thread 82, 84, or 86.
  • Step 502 creates an instance of the Named Pipe 102.
  • the name of the pipe is configurable and it must match the configuration name used by the Gateway Link 82-86 for the Web Server 18.
  • Step 504 establishes a connection with the Distributed Transaction Processing System 54. The connection is maintained for the life of the instance of the Transaction Gateway Client. The pre-establishment and maintaining of the connection saves time in that the connection is always available. In OpenI/OLTP, the connection is made with a tpinit program call.
  • Step 508 reads a message from a Gateway Link thread 82, 84, or 86 after a connection is established on the Pipe instance.
  • the name of the View File 308 is extracted from the request at Step 510.
  • Step 512 opens the Web-View File 310 that is named by the View value, e.g., EMP -- BUF.
  • Step 514 opens the View File named EMP -- BUF.
  • Step 516 allocates memory for a View Buffer 312 based on the View Size indicated in the View File 308.
  • the field names and their associated data values are extracted from the URL at Step 518.
  • the NUMBER field has a data value of 7369 as illustrated in the Location field of the Web Browser display.
  • the displayed HTML document of FIG. 9 with the displayed data values is a result of the Distributed Transaction Processing System 54 processing a Select operation on an employee database where the employee's NUMBER is 7369.
  • Step 520 writes the data value(s) which was extracted from the URL into the View Buffer.
  • the location in the View Buffer is designated by the offset corresponding to the field name stored in the Web-View File 310.
  • Step 522 invokes the Distributed Transaction Processing System with the service specified in the URL (e.g., EMPDBSVC.tx from the Location field of FIG. 9) along with the View Buffer 312.
  • the service specified in the URL e.g., EMPDBSVC.tx from the Location field of FIG. 9
  • a tpcall program call is used to initiate the service request.
  • the HTML Template (e.g., 314) for the named View File 308 is opened at Step 524.
  • Step 526 reads the values from the View Buffer 312.
  • the Web-View File 310 is used to obtain the locations in the View Buffer of the fields named in the Web-View File.
  • a data value of a field named in the Web-View File is read from the View Buffer, it may be written to an HTML document as indicated by Step 528.
  • the writing of a data value to the proper location in the HTML document is accomplished with an HTML Template, e.g., 314.
  • Step 530 the HTML document constructed at Step 528 is sent to the connected Gateway Link thread 82, 84, or 86 on the instance of the Named Pipe 102. Control is then returned to Step 506 to await another connection on the Pipe.

Abstract

A system which makes prior art On-Line Transaction Processing (OLTP) systems and their associated databases accessible using HyperText Transport Protocol (HTTP) interfaces. The response time for an on-line user seeking HTTP access to the transaction processing system is minimized by pre-establishing a transaction gateway client having a static connection to the transaction processing system. In addition, the HTTP access to the transaction processing system is available for multiple concurrant users. The system further provides a gateway that is independent of the underlying service provided by the transaction processor, whereby the same gateway client is capable of usage with different databases and operations thereon.

Description

BACKGROUND
1. Field of the Invention
This invention generally relates to gateway processors for providing access to database management systems by browser programs, and more particularly to a generalized gateway processor for making various transaction databases accessible by browser programs.
2. Description of the Related Art
The methods by which companies conduct business with their customers are undergoing fundamental changes, due in large part to World Wide Web technology. In addition, the same technology that makes a company accessible to the world, may be used on internal company networks for conducting operational and administrative tasks.
One of the technologies underlying the World Wide Web is the Web Browser. Web Browsers are quickly becoming a de facto user interface standard because of their ability to interpret and display information having standard formats (e.g., HyperText Markup Language (HTML), standard text, GIF, etc.). Client software programs, popularly referred to as Web Browsers (e.g., Mosaic, Lynx, etc.), execute on client systems and issue requests to server systems. The server systems typically execute HyperText Transport Protocol (HTTP) server programs which process requests from the Web Browsers and deliver data to them. The system that executes a HTTP server program and returns data to the Web Browser will hereinafter be referred to as a Web Server System. An HTTP server program itself will be referred to as Web Server.
A Web Server System has access to on-line documents that contain data written in HyperText Markup Language (HTML). The HTML documents contain display parameters, capable of interpretation by a Web Browser, and references to other HTML documents and Web Servers (Source: World Wide Web: Beneath the Surf, from UCL Press, by Mark Handley and Jon Crowcroft, on-line at http://www.cs.ucl.ac.uk/staff/jon/book/book.html).
As Web Browsers are making their mark as a "standard" user interface, many businesses have a wealth of information that is managed by prior art database management systems such as DMS, RDMS, DB2, Oracle, Ingres, Sybase, Informix, and many others. In addition, many of the database management systems are available as resources in a larger transaction processing system.
One key to the future success of a business may lie in its ability to capitalize on the growing prevalence of Web Browsers in combination with selectively providing access to the data that is stored in its databases. Common Gateway Interface programs are used to provide Web Browser access to such databases.
The Common Gateway Interface (CGI) is a standard for interfacing external applications, such as Web Browsers, to obtain information from information servers, such as Web Servers. The CGI allows programs (CGI programs) to be referenced by a Web Browser and executed on the Web Server system. For example, to make a UNIX database accessible via the World Wide Web, a CGI program is executed on the Web Server system to transmit information to the database engine, receive the results from the database engine, and format the data in an HTML document which is returned to the Web Browser.
A disadvantage with the CGI program approach described above is that the application developer must be acquainted with the HTML, the CGI, and the database engine. In addition, a different CGI program may be required for each different database, thus adding to the cost of creating and maintaining the database access for the Web Browser.
Businesses are faced with the challenge of adapting their present usage of yesterday's technology to new opportunities that are made available with the World Wide Web. Most business application software and underlying databases are not equipped to handle interaction with Web Browsers. It would therefore be desirable to have a flexible and efficient means for allowing interoperability between business application software and the World Wide Web.
SUMMARY OF THE INVENTION
The present invention makes prior art on-line transaction processing (OLTP) systems and their associated databases accessible using HyperText Transport Protocol (HTTP) interfaces. The response time for an on-line user seeking HTTP access to the transaction processing system is minimized by pre-establishing a transaction gateway client having a static connection to the transaction processing system. In addition, the HTTP access to the transaction processing system is available for multiple concurrent users. The invention further provides a gateway that is independent of the underlying service provided by the transaction processing system, whereby the same gateway client is capable of usage with different databases and operations thereon.
An on-line transaction processing system is made accessible to Web Browsers by establishing a predetermined plurality of transaction gateway clients to receive HTTP requests that are received by a Web Server from the Web Browsers. Concurrent processing of multiple transaction requests from the Web Browsers is performed by the plurality of transaction gateway clients. Each transaction gateway client pre-establishes a static connection with the on-line transaction processing system. The pre-established connection allows requests from the Web Browsers to be quickly routed to the transaction processing system. Time is saved by elimination of the traditional steps of connecting with and then disconnecting from the transaction processing system for each request from a browser program. The gateway client translates between HTTP formatted requests from the Web Browsers and the request format expected by the on-line transaction processing system.
The invention handles multiple concurrent requests from the Web Browsers and makes the requests available for concurrent processing by the on-line transaction processing system. A predetermined number of instances of the transaction gateway client are established to be available for performing the necessary translations. Each of the instances of the transaction gateway client establishes a static connection with the on-line transaction processing system as described above. As requests are received by the Web Server from the Web Browsers, the requests are routed to an available one of the instances of the transaction gateway client. Each instance of the transaction gateway client is capable of processing one request at a time.
The transaction gateway client of the present invention is independent of the underlying service initiated by the on-line transaction processing system. For example, the transaction gateway client may be utilized with different database managers (the database manager being the service), so long as the on-line transaction processing system is capable of utilizing the services provided by the different database managers. Multiple styles of transaction gateway clients may be established, however, to interface with different styles of on-line transaction processing systems and to accommodate differences in data format requirements.
The independence of the transaction gateway client from the underlying service is accomplished with each HTTP request from a Web Browser program specifying a requested service and a respective predetermined mapping file for each available service. A predetermined HyperText Markup Language (HTML) template file is also established for each desired service. Each of the predetermined mapping files sets forth the format and content of the data buffer that is used for communicating between the transaction gateway client and the on-line transaction processing system for the particular service. A mapping file directs the transaction gateway client where to write data to and read data from the data buffer for predetermined fields of the database. The HTML template file is used in creating an HTML document that is returned to a Web Browser. The transaction gateway client reads data values from a data buffer returned from the transaction processing system (as specified by the mapping file), the data values are written to appropriate locations in the HTML document as directed by information contained in the HTML template file.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein only the preferred embodiment of the invention is shown, simply by way of illustration of the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a functional block diagram of a computing environment in which a transaction system and a Web Server interoperate in a single system;
FIG. 2 is a functional block diagram of an exemplary computing environment in which the present invention could be used;
FIG. 3 is a functional block diagram of the software components that make a transaction database accessible to one or more Web Browsers;
FIG. 4 is a dataflow diagram showing the flow of data between the components of the exemplary system;
FIG. 5 is a flowchart of the steps for initializing an environment on a Web Server System to provide Web Browser access to a transaction database;
FIG. 6 shows the relationship between the Web-View File and the View Buffer;
FIG. 7 illustrates a portion of the HTML Template created for the View Definition of FIG. 8;
FIG. 8 illustrates a sample View Definition;
FIG. 9 is a sample screen display of the image produced by a Web Browser from an HTML document based on the HTML Template;
FIG. 10 is a flowchart of the general processing of the Web Server;
FIG. 11 is a flowchart of the processing performed by a Gateway Link thread; and
FIG. 12 is a flowchart of the processing performed by each of the instances of the Transaction Gateway Client.
DETAILED DESCRIPTION
FIGS. 1 and 2 are functional block diagrams of exemplary computing environments in which the present invention could be used to make a transaction processing system interoperable with the World Wide Web. FIG. 1 is a functional block diagram of an environment in which the transaction system and the Web Server operate in a single system, and FIG. 2 shows an environment in which the Web Server System acts as a front-end for the Enterprise Server System.
FIG. 1 is a functional block diagram of a computing environment in which a transaction system and a Web Server interoperate in a single system. A plurality of micro-computers, designated as Web Browser 10, 12, 14, and 16, are coupled to a Web Server 18 via Network 20. The Network may be an internal local area network or the Internet.
Each of the Web Browsers 10-16 is comprised of software for browsing the World Wide Web, such as Mosaic, Netscape Navigator, etc., and a suitable micro-computer or computer workstation along with operating system software. The Web Server may be off-the-shelf software such as the Microsoft Internet Information Server and Netscape Commerce Server.
The typical operating mode for the Web Server 18 is to receive requests from the Web Browsers 10-16 and return the requested data from the Pre-formatted Data element 22. The Pre-formatted Data consists of HTML documents.
The Server System 24 may be any data processing system that is suitable for transaction processing applications, such as the 2200 Series, A-Series, and UNIX based data processing systems from Unisys Corporation. The exemplary Transaction Processing System 26 is intended to encompass transaction manager software, such as Open/OLTP Transaction Manager software from Unisys, user implemented Open/OLTP services (application programs), and Open/OLTP resource managers (such as a database management system). The Open/OLTP transaction model is described in the X/Open Guide, Distributed Transaction Processing Reference Model as published by the X/Open Company Ltd., U.K. The present invention would be applicable to other non-standard or proprietary transaction based systems, as well as to other data servers in general.
The Transaction Processing System 26 serves data from the Database 28 to the Transaction Clients 30, 32, 34, and 36. The Transaction Clients 30-36 are coupled to the Transaction Processing System via Line 38, of which the underlying technology is driven by the application of the Transaction Processing System 26.
The Transaction Gateway Client 40 allows the Web Server 18 to interoperate with the Transaction Processing System 26. Specifically, a predetermined Open/OLTP service, as defined by an application programmer, is referenced in an HTML document in the Pre-formatted Data element 22. When a Web Browser 10, 12, 14, or 16 selects the service, the request is routed to the Web Server 18, which in turn routes the request to the Transaction Gateway Client. The Transaction Gateway Client determines the requested service and forwards the necessary information to the Transaction Processing System 26. The Transaction Processing System processes the request against the Database 28 according to the specified request (e.g., select, update, delete). The Transaction Processing System returns data and/or status information to the Transaction Gateway Client, which in turn formats the data into an HTML document that is forwarded to the Web Server. The Web Server sends the HTML document to the requesting Web Browser.
FIG. 2 is a functional block diagram of an exemplary computing environment in which the present invention could be used. The environment of FIG. 2 differs from that of FIG. 1 in that the Web Server 18 and the Database 28 reside on separate data processing systems. The Web Server 18 resides on a Web Server System 50, and the Database 28 resides on an Enterprise Server System 52.
The Web Server System 50 may be any class machine that is capable of running a Web Server 18 along with a Distributed Transaction Processor 54. In the exemplary Web Server System, the Distributed Transaction Processing System 54 is similar to the Transaction Processing System 26 of FIG. 1 in that both are Open/OLTP compatible. The Transaction Processing System 54 of FIG. 2 is designated as Distributed to make clear that a transaction is formatted on the Web Server System 50 and forwarded to the Enterprise Server System for processing. A suitable Distributed Transaction Processing System 54 for the Web Server System is the Transactional Desktop software product from Unisys. The Transactional Desktop software is Open/OLTP compliant, but does not have the required components for processing service requests. However, the Transactional Desktop software is capable of initiating service requests.
The exemplary Enterprise Server System is a 2200 Series data processing system from Unisys and also includes a Distributed Transaction Processing System 56. The Distributed Transaction Processing System 56 is intended to encompass the same functionality as the Transaction Processing System 26. However, it is designated as Distributed to be compatible with the Distributed Transaction Processing System 54. The Distributed Transaction Processing System 54 and the Distributed Transaction Processing System 56 are coupled via Network 58. Preferably, the network interface for Network 58 is separate from the network interface for Network 20.
The environment of FIG. 2 may be preferable to the environment of FIG. 1 in that the Web Server System 50 maybe used prevent request from the Web Browsers 10-16 from entering Network 58. The Windows NT operating system is configurable to prevent routing of data packets between two network interfaces. In this fashion, the only traffic that is allowed on Network 58 in response to requests on Network 20 is in the form of Open/OLTP service calls which are referenced by HTML documents.
FIG. 3 is a functional block diagram of the software components that make a transaction database accessible to one or more Web Browsers. Before discussing the various software components, it may be useful to illustrate a high level data flow between the components.
The data flow is illustrated by the labeled directional arrows 72, 74, 76, and 78. The Web Server 18 receives Uniform Resource Locator (URL) character strings from the Web Browsers 10, 12, 14, and 16. URL character strings are passed to the Transaction Gateway Client instances 40, which in turn translate the URL character strings into View Buffers. View Buffers are passed to the Distributed Transaction Processing System 54 as shown by Line 74, and in turn passed on to the Distributed Transaction Processing System 56. Note that a View Bohfer is a data structure that is understood by the Open/OLTP style Distributed Transaction Processing Systems 54 and 56. The invention would be equally applicable to transaction and/or database systems which expect different data structures. The Distributed Transaction Processing System 56 returns View Buffers to the Distributed Transaction Processing System 54, which in turn returns View Buffers to the Transaction Gateway Client instances 40. The Transaction Gateway Client instances transform the View Buffers into HyperText Markup Language documents which are returned to the Web Server 18 as shown by Line 78. The Web Server returns the HTML documents to the respective Web Browsers.
In terms of the software components that make a transaction database Web Browser efficiently accessible, two main components provide the accessibility. The first component is the Gateway Link Thread 82 and the second is the Transaction Gateway Client 40.
Web Servers such as the Netscape Commerce Server support multiple threads. That is, a single Web Server process is multiplexed between the threads. In the exemplary embodiment, the Web Server software (i.e., Netscape Commerce Server) is configured with a Dynamic Link Library function designated as the Gateway Link. Each of the Gateway Link threads 82, 84, and 86 correspond to a URL received from a respective one of the Web Browsers 10-16. The basic function of a Gateway Link is to establish a connection with an available Transaction Gateway Client instance 40, forward a URL to the Transaction Gateway Client instance, receive an HTML document from the Transaction Gateway Client instance, and return the HTML document to the respective Web Browser. The Gateway Link threads are designated with dashed lines to indicate that their existence is dynamic.
The second main software component is the Transaction Gateway Client 40. The main function of the Transaction Gateway Client is to transform a request which is in the form of a URL from a Web Browser 10-16 into a format which is understandable by the Distributed Transaction Processing Systems 54 and 56, and transform the data returned from the Distributed Transaction Processing Systems 54 and 56 into a HTML document that is returned to a Gateway Link.
In the exemplary embodiment, a predetermined number of Transaction Gateway Client instances are started and available to process requests from the Web Browsers 10-16. Each of the Transaction Gateway Client instances processes one request at a time. An equally suitable approach would be to have one Transaction Gateway Process instance with a multi-thread capability.
Each of the Transaction Gateway Client instances creates an instance of a Named Pipe. The instances of the Named Pipe are collectively referenced as 102. An instance of the Named Pipe is used for communicating between one of the Gateway Link threads 82-86 and an available one of the Transaction Gateway Client instances.
In addition to instances of the Named Pipe 102 , each instance of the Transaction Gateway Client 40 establishes a connection with the Distributed Transaction Processing System 54. This connection is established prior to a Transaction Gateway Client receiving a request from a Web Browser and maintained for the life of the processor instance so that time is not wasted in connecting and disconnecting every time a request appears. In the exemplary system the connection is made with the tpinit program call to the Distributed Transaction Processing System 54. In this manner, each of the Transaction Gateway Client instances has a preestablished and continuous connection with the Distributed Transaction Processing System 54. The connections between the Transaction Processing System Gateway instances and the Distributed Transaction Processing System are collectively referenced as 104.
Connections between the Distributed Transaction Processing Systems 54 and 56 are established as requests are forwarded from the Transaction Gateway Client instances. The connections are collectively referenced as Lines 106. The connections are designated with dashed lines to indicate that the connections are dynamically established and undone (as compared to the static connections between the Transaction Gateway Client instances 40 and the Distributed Transaction Processor 54).
FIG. 4 is a dataflow diagram showing the flow of data between the components of the exemplary system. Initially, the Web Browser 10 makes a request for an HTML document to the Web Server 18 in the form a URL character string as shown by Line 1. The Web Server then returns a predetermined HTML document to the Web Browser as shown by Line 2. The data flow of Lines 1 and 2 is intended to illustrate the initial steps for initiating a transaction from a Web Browser.
Line 3 shows the URL forwarded from the Web Browser 10 to the Web Server 18 in response to an action initiated by the user of the Web Browser. The Web Server, in turn, receives the URL and passes it along to the Transaction Gateway Client 40 as shown by Line 4. The Transaction Gateway Client 40 transforms the input URL into a View Buffer, which at Line 5, is passed to the Distributed Transaction Processing System 54.
The Distributed Transaction Processing System 54 forwards the View Buffer to the appropriate resource manager (not shown) and receives the results of processing the transaction in a View Buffer. The View Buffer with the transaction results is returned to the Transaction Gateway Client 40 as shown by Line 6. The Transaction Gateway Client extracts the transaction results from the View Buffer and inserts the transaction results into an HTML document. At Line 7, the HTML document with the transaction results is forwarded to the Web Server 18. The Web Server then transmits the HTML document with the transaction results to the Web Browser 10.
FIG. 5 is a flowchart of the steps for initializing an environment on a Web Server System 50 to provide Web Browser access to a transaction database.
A View File, a Web-View File, and an HTML Template are established on the Web Server System 50 at Steps 302, 304, and 306 respectively. FIG. 6 illustrates the content of a View File 308, a Web-View File 310, and a View Buffer 312. FIG. 7 illustrates a portion of an HTML Template 314.
The View File 308 is used by the Distributed Transaction Processing System 54 in allocating memory for a View Buffer 312, the contents of which is used in communicating with the Distributed Transaction Processing System 56. The View Buffer is an area of Web Server System memory that is used to store a data structure that contains data to be sent to the Distributed Transaction Processing System or that contains data received therefrom.
A View File contains a description of the fields that make up a data structure which is used by the transaction processing system service.
The exemplary Distributed Transaction Processing System 54 includes a software tool, referred to as the View Compiler, for establishing a View File 308 based on an input View Definition.
FIG. 8 illustrates a sample View Definition 316. A View Definition describes the data that may be input to or output from the Distributed Transaction Processing System 54. The sample View Definition contains selected fields of an employee database named EMP-- BUF. The lines that begin with a "#" are comment lines and are not part of the definition. The designation carray describes a data type of an array of characters.
The second column of the View Definition 316 is headed by the identifier cname in the comment line. The names listed in this column are the corresponding names as they are referenced within a data structure in a C language or Visual Basic language program.
The third column of the View Definition is headed by the identifier fbname in the comment line. The names listed in this column are used in mapping fields named in the HTML Template 314.
The fourth column of the View Definition is headed by the identifier count in the comment line. The count is number of occurrences of the associated field.
The fifth column of the View Definition is headed by the identifier flag in the comment line. This field is not utilized in the present invention.
The sixth column of the View Definition is headed by the identifier size in the comment line. The size designates the number of bytes required in the View Buffer 312 for storage of the respective field when the size of the data type is variable.
The seventh column of the View Definition is headed by the identifier null in the comment line. The null values are the values that are stored in the View Buffer 312 if the field is not utilized in an HTML form.
At Step 304 of FIG. 5, a Web-View File 310 is established on the Web Server System 50. A Web-View File is created for each View File. The Web-View File contains a mapping between the database fields (fbname) named in the View Definition 316 and their respective positions in the View Buffer 312. A Web-View File is used in writing data to and extracting data from a View Buffer. The mappings defined in the Web-View File are dependent upon the specifications for an interface between application programs and the underlying database system. In the exemplary system, the mappings are governed by the Open/OLTP transaction processing interface. Those skilled in the art will recognize that mappings for other systems could be constructed according to the programming interface specifications.
FIG. 6 shows the relationship between the Web-View File 310 and the View Buffer 312. The Web-View File contains pairs of field names and offsets. The Field names correspond to the names in the fbname column of the View Definition 316. The respective paired offset indicates a byte offset into the View Buffer 312. The data for Field name 1 is at a location in the View Buffer as referenced by Line 322, the data for Field name 2 is at a location in the View Buffer as referenced by Line 324, the data for Field name 3 is at a location in the View Buffer as referenced by Line 326, and the data for Field name n is at a location in the View Buffer as referenced by Line 328.
At Step 306 of FIG. 5 an HTML Template is established on the Web Server System 50. An HTML Template is created for each View File. The HTML Template contains an HTML document that may be displayed by a Web Browser 10-16. The HTML Template may be viewed as a blank form. The Transaction Gateway Client 40 transfers data from a View Buffer 312 into an HTML document taking the form of the HTML Template. The HTML document is returned to the Web Browser.
FIG. 7 illustrates a portion of the HTML Template 314 created for the View Definition 316 of FIG. 8. The fbnames from the View Definition have place holders in the HTML Template for inserting data values, either by the Transaction Gateway Client 40 or by the user of the Web Browser. Note that the defined HTML Template may be used to display information to the user of a Web Browser as well as to solicit information from the user.
Returning to FIG. 5, at Step 332 a predetermined number of Gateway Client instances are started on the Web Server System 50. Step 334 starts the Web Server.
FIG. 9 is a sample screen display of the image produced by a Web Browser from an HTML document based on the HTML Template 314. The HTML document displayed in FIG. 9 is the result of a exemplary scenario in which a blank form (e.g., the image of FIG. 9 without the employee data) is initially displayed by the Web Browser. The user then enters a number in the Employee # field of the form, specifies the Select Operation, and clicks on the Transmit button. The URL is constructed in the Location field of the Web Browser display.
The Uniform Resource Identifier (URI) is the subset of the URL that identifies the resource on the server. For example, for the URL:
http://wlvrne/RT68/EMPDBSVC.tx?View...
the URI is:
/RT68/EMPDBSVC.tx
The data after the "?" in the URL is the "query string" which contains input values.
The Web Server 18 optionally uses the first portion (/RT68/) of the URI to determine which gateway will process the request. Additionally, the Web Server optionally uses the last portion (.tx) to determine that the Gateway Link 82 should be invoked.
The Transaction Gateway Client 40 uses the middle portion (EMPDBSVC) to identify the Open/OLTP service routine to call, and the query string is used to identify the which View Buffer to use and which values to set. Note that the query string is only used with the `GET` HTTP method, and contains data equivalent to the request content of an HTTP `POST` method. The present invention allows both GET and POST HTTP methods.
FIG. 10 is a flowchart of the general processing of the Web Server 18. At Step 402 the Web Server waits for a connection from a Web Browser 10-16. Once a connection is established, a thread is initiated to interact with the Web Browser as indicated by Line 404. The Web Server then returns to wait for connections from other Web Browsers and continues to Step 406 to process the request.
At Step 406, the connection with the Web Browser 10-16 is accepted and the URL that contains the request is read.
The processing to be performed for the request is dependent upon the Multipurpose Internet Mail Extension (MIME) type or the path prefix in the URL (e.g., "/RT68" from FIG. 9). The MIME type and path prefix may be used alone or in combination to activate predetermined gateway software. Customized MIME types and path prefixes are configurable with the Web Server 18. For example, a combination of the MIME type and usage of the path prefix may be configured so that all requests ending with ".tx" and beginning with "/XYZ/" go to one gateway, all requests ending with ".tx" and beginning with "/ABC/" go to a different gateway. The selection Step 410 directs which processing path is followed.
For a MIME type or path prefix dictating a transaction, as indicated by Block 412, Gateway Link Processing (FIG. 11) is initiated at Step 414. The Gateway Link Processing forwards the request to the Transaction Gateway Client 40, and returns to the Web Browser an HTML document that is constructed by the Transaction Gateway Client.
Other MIME types, as indicated by Block 416, include text/HTML, text/plain, image/gif, image/jpeg, and are usually handled by the Web Server's 18 "send-file" function or other customized gateway processing as shown by Step 418.
At Step 420, the connection with the Web Browser is closed to complete the thread.
FIG. 11 is a flowchart of the processing performed by a Gateway Link thread 82. A Gateway Link obtains a connection with an available instance of a Transaction Gateway Client 40, forwards the transaction request to the Transaction Gateway Client, receives from the Transaction Gateway Client an HTML document containing the transaction results, and returns the HTML document to the Web Browser.
At Step 452, the identification of the Named Pipe 102 is obtained from configuration information that is preestablished with the Web Server. Each instance of the Transaction Gateway Client 40 listening to an instance of the Named Pipe. Even though there are multiple instances of the Transaction Gateway Client, the pipe name is constant between all of these gateways. Any attempt by a Gateway Link to attach to this Named Pipe will result in exactly one of the instances of the Transaction Gateway Client accepting the connection and processing the request.
The other configuration data determines which request headers will be passed to the Transaction Gateway Client. Some options include authentication data, URI, document root, and Web Browser IP address.
GET and POST are the two methods used in the HTTP to transfer data contained in a HTML form (request input) to the Web Server 18. With GET, the input is available directly as part of the HTTP request. With POST, the input must be read from the Web Browser 10-16 over the TCP/IP socket connection. Step 454 determines which method by which the HTML data is to be obtained, and Step 456 obtains the HTML data via the TCP/IP socket connection.
At Step 458, a request is made to the operating system for a connection with an instance of the Named Pipe 102. In the exemplary embodiment, the Windows NT operating system provides the underlying software for management of the Named Pipe. If an instance of the Pipe is available, a connection is returned immediately. Otherwise, the operating system will wait for a programmable period of time for an instance to become available. If the period of time expires before a connection is available, an indicative status code is returned to the Gateway Link thread. The Gateway Link thread may then return an appropriate error message to the requesting Web Browser 10, 12, 14, or 16.
If a connection is made to the Pipe 102, Step 460 sends the URL to an instance of the Transaction Gateway Client 40. Step 462 then initiates a request to the operating system to read a response from the Pipe. The operating system suspends the thread processing until a response is available from the instance of the Transaction Gateway Process at the other end of the Pipe. The operating system returns an HTML document to the Gateway Link thread after the instance of the Transaction Gateway Process sends the HTML document.
The Gateway Link is not limited to HTML, and part of the response from the Transaction Gateway Client indicates the MIME type of the data being returned. The types include, but are not limited to, text/plain, text/html, image/gif, and image/jpg. Step 464 determines the type of data returned from the Transaction Gateway Client. The Gateway Link notifies the Web Browser 10-16 of the content type, and then sends the data at Step 466.
Step 468 returns control to the Web Server Processing of FIG. 10.
FIG. 12 is a flowchart of the processing performed by each of the instances of the Transaction Gateway Client 40. Generally, the Transaction Gateway Client receives a URL that identifies a transaction, creates a View Buffer 312 to send to the Distributed Transaction Processing System 54, receives a View Buffer from the Distributed Transaction Processing System, and creates an HTML document which is then returned to the Gateway Link thread 82, 84, or 86.
Step 502 creates an instance of the Named Pipe 102. The name of the pipe is configurable and it must match the configuration name used by the Gateway Link 82-86 for the Web Server 18. Step 504 establishes a connection with the Distributed Transaction Processing System 54. The connection is maintained for the life of the instance of the Transaction Gateway Client. The pre-establishment and maintaining of the connection saves time in that the connection is always available. In OpenI/OLTP, the connection is made with a tpinit program call.
The instance of the Transaction Gateway Client waits for a connection on its instance of the Named Pipe 102 at Step 506. Step 508 reads a message from a Gateway Link thread 82, 84, or 86 after a connection is established on the Pipe instance.
The name of the View File 308 is extracted from the request at Step 510. In FIG. 9, the characters View=EMP-- BUF in the Location field of the Web Browser screen specify the name of the View File. Step 512 opens the Web-View File 310 that is named by the View value, e.g., EMP-- BUF. Similarly, Step 514 opens the View File named EMP-- BUF.
Step 516 allocates memory for a View Buffer 312 based on the View Size indicated in the View File 308. The field names and their associated data values are extracted from the URL at Step 518. In FIG. 9, the NUMBER field has a data value of 7369 as illustrated in the Location field of the Web Browser display. As described above, the displayed HTML document of FIG. 9 with the displayed data values is a result of the Distributed Transaction Processing System 54 processing a Select operation on an employee database where the employee's NUMBER is 7369.
Step 520 writes the data value(s) which was extracted from the URL into the View Buffer. The location in the View Buffer is designated by the offset corresponding to the field name stored in the Web-View File 310.
Step 522 invokes the Distributed Transaction Processing System with the service specified in the URL (e.g., EMPDBSVC.tx from the Location field of FIG. 9) along with the View Buffer 312. In the Open/OLTP model, a tpcall program call is used to initiate the service request.
When control is returned from the Distributed Transaction Processing System 54 to the Transaction Gateway Client 40, the HTML Template (e.g., 314) for the named View File 308 is opened at Step 524. Step 526 reads the values from the View Buffer 312. The Web-View File 310 is used to obtain the locations in the View Buffer of the fields named in the Web-View File. Once a data value of a field named in the Web-View File is read from the View Buffer, it may be written to an HTML document as indicated by Step 528. The writing of a data value to the proper location in the HTML document is accomplished with an HTML Template, e.g., 314.
At Step 530, the HTML document constructed at Step 528 is sent to the connected Gateway Link thread 82, 84, or 86 on the instance of the Named Pipe 102. Control is then returned to Step 506 to await another connection on the Pipe.

Claims (36)

I claim:
1. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from one or more external browser programs coupled to the HTTP server, a transaction processing system having transaction services for providing access to respectively coupled databases, wherein the transaction processing system processes transactions of a predetermined type and outputs transaction data in data structures having a predetermined format, an apparatus for receiving transaction requests and associated input transaction data from the browser programs and in response thereto, serving output transaction data to the browser programs, the apparatus comprising:
a predetermined number of transaction gateway clients, each coupled to said HTTP server and coupled to said transaction processing system and each being capable of translating a transaction request and associated input transaction data from a browser program into a predetermined transaction type to be processed by the transaction processing system, and each further being capable of translating results of the transaction request received from the transaction processing system into a predetermined format which is provided to the browser program as output transaction data.
2. The apparatus of claim 1, wherein said predetermined format for the browser program is hyper-text markup language.
3. The apparatus of claim 1, wherein each of said predetermined number of transaction gateway clients, is ready for processing prior to receipt of a request from a browser program.
4. The apparatus of claim 3, wherein said predetermined number of transaction gateway clients each have preestablished and static connections with the transaction processing system, whereby time associated with connecting a transaction gateway client to the transaction processing system to process a request from a browser program is eliminated.
5. The apparatus of claim 1, wherein the requests from the browser program are translated into On-Line Transaction Processing (Open/OLTP) style transactions.
6. The apparatus of claim 1, further comprising:
a variable number of dynamically initiated gateway link threads resident on the HTTP server, each for connecting with an available one of said predetermined number of transaction gateway clients in response to a request from a browser program.
7. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from one or more external browser programs coupled to the HTTP server, a transaction processing system having transaction services for providing access to respectively coupled databases, wherein the transaction processing system processes transactions of a predetermined type and in response thereto, provides transaction data in data structures having a predetermined formats, a method for providing a HTTP interface to the transaction processing system, comprising the steps of:
(a) translating a request and request data received from a browser program into a transaction of a predetermined type;
(b) initiating the transaction processing system to process said transaction of said predetermined type;
(c) translating the transaction data received from the transaction processing system into a predetermined format for the browser program; and
(d) returning the transaction data from said translating step to the HTTP server for returning to the browser programs.
8. The method of claim 7, further comprising the step of:
pre-establishing a predetermined number of transaction gateway clients, each for performing steps (a)-(d) for a respective request from a browser program, whereby each said client is ready for processing prior to receipt of a request from a browser program.
9. The method of claim 8, wherein said predetermined format for the browser program is hyper-text markup language.
10. The method of claim 9, wherein the requests from the browser program are translated into On-Line Transaction Processing (Open/OLTP) style transactions.
11. The method of claim 8, further comprising the step of
pre-establishing static connections between said predetermined number of transaction gateway clients and the transaction processing system, whereby time associated with connecting one of said predetermined number of transaction gateway clients to the transaction processing system to process a request from a browser program is eliminated.
12. The method of claim 11, further comprising the step of
dynamically initiating gateway link threads by the HTTP server in response to requests from browser programs, each for connecting with an available one of said predetermined number of transaction gateway clients and transferring a request to said available one of said predetermined number of transaction gateway clients.
13. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from one or more external browser programs coupled to the HTTP server, a transaction processing system having transaction services for providing access to respectively coupled databases, wherein the transaction processing system processes transactions of a predetermined type and in response thereto provides transaction data in data structures having a predetermined formats, an apparatus for providing a HTTP interface to the transaction processing system, comprising:
means for translating a request from a browser program to a transaction of a predetermined type;
means for initiating processing by the transaction processing system of said transaction of said predetermined type;
means for receiving the transaction data from the transaction processing system in response to processing said transaction, and for further translating the transaction data into a predetermined format for the browser program; and
means for returning the transaction data from said translating step to the HTTP server for returning to the browser programs.
14. The apparatus of claim 13, further comprising:
means for pre-establishing one or more transaction gateway clients, each for performing steps (a)-(d) for a respective request from a browser program, whereby each said client is ready for processing prior to receipt of a request from a browser program.
15. The apparatus of claim 14, wherein said predetermined format for the browser program is hyper-text markup language.
16. The apparatus of claim 15, wherein the requests from the browser program are translated into Open/OLTP style transactions.
17. The apparatus of claim 14, further comprising
means for pre-establishing static connections between said one or more transaction gateway clients and the transaction processing system, whereby time associated with connecting a transaction gateway client to the transaction processing system to process a request from a browser program is eliminated.
18. The apparatus of claim 17, further comprising
means for dynamically initiating gateway link threads by the HTTP server in response to requests from browser programs, each for connecting with an available one of said one or more transaction gateway clients and transferring a request to said available one of said one or more transaction gateway clients.
19. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from external browser programs, a transaction processing system having transaction services for providing access to respectively coupled databases, each service capable of respectively performing selectable predetermined functions, wherein function requests and function results are communicated in buffers having predetermined formats, a method for providing a HTTP interface to a transaction processing system, comprising the steps of:
(a) reading a service name, a function name, a command field name, data field names, and associated values from a request from a browser program;
(b) allocating memory for a buffer;
(c) writing at predetermined locations in said buffer said values which were read from the browser request;
(d) initiating the transaction processing system with said service name and the buffer; upon receiving in the buffer a transaction response from the transaction processing system, performing steps (e)-(h);
(e) reading values of the data field names from the buffer;
(f) creating an HTML document having a predetermined format;
(g) writing to said HTML document said values from step (a) at predetermined locations; and
(h) transferring the HTML document to the HTTP server.
20. The method of claim 19, further comprising the step of
pre-establishing a predetermined plurality of transaction gateway clients, each for performing steps (a)-(h) for a respective request from a browser program, whereby each said client is ready for processing prior to receipt of a request from a browser program.
21. The method of claim 20, further comprising the step of
dynamically initiating gateway like threads by the HTTP server in response to requests from browser programs, each for connecting with an available one of said transaction gateway clients and transferring a request to said available one of said transaction gateway clients.
22. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from external browser programs, a transaction processing system having transaction services for providing access to respectively coupled databases, each service capable of respectively performing selectable predetermined functions, wherein function requests and function results are communicated in buffers having predetermined formats, a method for providing a HTTP interface to a transaction processing system, comprising the steps of:
(a) establishing a hyper-text markup language (HTML) template that is associated with a predetermined function, said HTML template including a service name that identifies a predetermined transaction service, a function name that identifies said function, a predetermined database command field name, and predetermined database data field names;
(b) reading a service name and a function name from a browser request;
(c) allocating memory for a buffer;
(d) reading a command field name, data field names, and associated values from the browser request;
(e) writing at predetermined locations in said buffer said values which were read from the browser request;
(f) initiating the transaction processing system with said service name and the buffer; upon receiving in the buffer a transaction response from the transaction processing system, performing steps (g)-(j);
(g) reading values of the data field names from the buffer;
(h) creating an HTML document from the HTML template;
(i) writing to said HTML document said values from step (a) at locations reserved by respective data field names; and
(j) transferring the HTML document to the HTTP server.
23. The method of claim 22, further comprising the step of
pre-establishing a predetermined plurality of transaction gateway clients, each for performing steps (b)-(j) for a respective request from a browser program, whereby each said client is ready for processing prior to receipt of a request from a browser program.
24. The method of claim 23, further comprising the step of
dynamically initiating gateway link threads by the HTTP server in response to requests from browser programs, each for connecting with an available one of said transaction gateway clients and transferring a request to said available one of said transaction gateway clients.
25. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from external browser programs, a transaction processing system having transaction services for providing access to respectively coupled databases, each service capable of respectively performing selectable predetermined functions, wherein function requests and function results are communicated in buffers having predetermined formats, a method for providing a HTTP interface to a transaction processing system, comprising the steps of:
(a) establishing a hyper-text markup language (HTML) template that is associated with a predetermined function, said HTML template including a service name that identifies a predetermined transaction service, a function name that identifies said function, a predetermined database command field name, and predetermined database data field names;
(b) establishing a template-to-buffer mapping table which is associated with said function and has mappings of said command field name and said data field names to predetermined offsets into a buffer;
(c) reading a service name and a function name from a browser request;
(d) selecting the mapping table associated with the function name;
(e) allocating memory for a buffer;
(f) reading a command field name, data field names, and associated values from the browser request;
(g) obtaining from said mapping table from said selecting step offsets associated with said database command field name and said database data field names read from the browser request;
(h) writing at locations respectively indicated by said offsets from said obtaining step said values which were read from the browser request;
(i) initiating the transaction processing system with said service name and the buffer; upon receiving in the buffer a transaction response from the transaction processing system, performing steps (j)-(m);
(j) reading values of the data field names from the buffer as respectively specified by said offsets from said obtaining step;
(k) creating an HTML document from the HTML template;
(l) writing to said HTML document said values from step (a) at locations reserved by respective data field names; and
(m) transferring the HTML document to the HTTP server.
26. The method of claim 25, further comprising the step of
pre-establishing a predetermined plurality of transaction gateway clients, each for performing steps (c)-(m) for a respective request from a browser program, whereby each said client is ready for processing prior to receipt of a request from a browser program.
27. The method of claim 26, further comprising the step of
dynamically initiating gateway link threads by the HTTP server in response to requests from browser programs, each for connecting with an available one of said transaction gateway clients and transferring a request to said available one of said transaction gateway clients.
28. In a data processing system having a HyperText Transport Protocol (HTTP) server for responding to requests from one or more external browser programs coupled to the HTTP server, a transaction processing system having transaction services for providing access to respectively coupled databases, each service capable of respectively performing selectable predetermined functions, wherein the transaction processing system processes transactions of a predetermined type and outputs transaction data in data structures having predetermined formats, the data processing system further including a transaction gateway client capable of translating requests and responses between the HTTP server and the transaction processing system, a method for interfacing the HTTP server with the transaction processing system, comprising the steps of:
pre-establishing a predetermined plurality of transaction gateway clients, whereby each client is ready for processing prior to receipt of a request from a browser program;
pre-establishing static connections between said gateway clients and the transaction processing system, whereby time associated with connecting a transaction gateway client to the transaction processing system to process a request from a browser program is eliminated;
dynamically initiating a gateway link thread by the HTTP server in response to a request from a browser program;
establishing a connection between said gateway link thread and an available one of the gateway clients;
transferring the request from said gateway link thread to said available one of the gateway clients;
translating the request received by said available one of the gateway clients into a transaction of a predetermined type;
initiating the transaction processing system by said available one of the gateway clients with said transaction of a predetermined type, whereby connection time is eliminated by pre-establishing said static connections;
translating transaction data received from the transaction processing system into a predetermined format for the browser program;
returning said transaction data in said predetermined format to said gateway link thread for returning to the browser programs; and
disconnecting said gateway link thread from a respectively connected gateway client process after said transaction data in said predetermined format is returned to the gateway link thread, whereby the gateway client is thereafter available to process a subsequent request from a browser program.
29. The method of claim 28, wherein said predetermined format for the browser program is hyper-text markup language.
30. The method of claim 29, wherein said predetermined transaction type is an Open/On-Line Transaction Processing (Open/OLTP) style transaction.
31. In a data processing system having a memory and having a HyperText Transport Protocol (HTTP) server for responding to transaction requests from external browser programs, a transaction processing system having transaction services for providing access to respectively coupled databases, each of the transaction services for receiving ones of the transaction requests and associated transaction data from the external browser programs in a predetermined first format as specified in an associated web-view file associated with the transaction service, each transaction service further for returning transaction results in the predetermined first format to be provided to a selected one of the external browser programs in a predetermined second format as specified in an associated template file associated with the selected one of the external browser programs, a method for providing an HTTP interface to a transaction processing system, comprising the steps of:
(a) reading transaction data and a transaction service name identifying an identified transaction service from a transaction request received from one of the external browser programs;
(b) reading an associated web-view file for said identified transaction service;
(c) translating said transaction data from said step (a) into a predetermined first format specified by said associated web-view file for said identified transaction service; and
(d) providing said translated transaction data to the transaction processing system for processing by said identified transaction service.
32. The method of claim 31 and further comprising the steps of:
(e) receiving transaction results provided by the transaction processing system, said transaction results being provided in a results buffer in the memory and being the results of said transaction request of said step (a) as processed by said identified transaction service;
(f) reading an associated template file for said identified transaction service;
(g) translating said received transaction results into an associated predetermined second format specified by said associated template file read in said step (f); and
(h) providing said translated transaction results to the HTTP server.
33. The method of claim 32 wherein said transaction results received in said results buffer includes one or more data fields each containing associated data signals, wherein said associated web-view file maps each of said one or more data fields to an associated address offset value in said results buffer, and wherein said receiving step (e) comprises the step of reading, for each of said one or more data fields, said associated data signals from an associated address in said results buffer as determined by said associated address offset value.
34. The method of claim 33 wherein said template file includes an associated document address offset value for each of said one or more data fields, and wherein said translating step (g) comprises the steps of:
(g1) creating a document in the memory having a predetermined format; and
(g2) writing said associated data signals for each of said one or more data fields to a location in said document as determined by said associated document address offset value.
35. The method of claim 34 wherein said document is in the form of an HyperText Markup Language (HTML) document.
36. The method of claim 31 wherein said transaction data includes multiple data fields each containing associated data signals, wherein said associated web-view file maps each of said multiple data fields to an associated address offset value, and wherein said translating step (c) comprises the steps of:
(c1) allocating memory to be used as a view buffer;
(c2) writing said associated data signals associated with each of said multiple data fields to a predetermined location within said view buffer as determined by said associated address offset value.
US08/622,099 1996-03-26 1996-03-26 Transaction service independent HTTP server-to-transaction gateway Expired - Lifetime US5754772A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/622,099 US5754772A (en) 1996-03-26 1996-03-26 Transaction service independent HTTP server-to-transaction gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/622,099 US5754772A (en) 1996-03-26 1996-03-26 Transaction service independent HTTP server-to-transaction gateway

Publications (1)

Publication Number Publication Date
US5754772A true US5754772A (en) 1998-05-19

Family

ID=24492937

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/622,099 Expired - Lifetime US5754772A (en) 1996-03-26 1996-03-26 Transaction service independent HTTP server-to-transaction gateway

Country Status (1)

Country Link
US (1) US5754772A (en)

Cited By (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998025376A2 (en) * 1996-12-02 1998-06-11 First Data Corporation Method and apparatus for improved transaction processing in a distributed computing environment
US5847957A (en) * 1997-06-16 1998-12-08 Base Ten Systems, Inc. Web access for a manufacturing execution system
WO1999008208A1 (en) * 1997-08-12 1999-02-18 Aoraki Corporation Limited Internet transaction processing interface
US5889863A (en) * 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US5931917A (en) * 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US5943424A (en) * 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
WO1999046746A1 (en) * 1998-03-09 1999-09-16 Abb Power T & D Company Inc. Remote access to electronic meters using a tcp/ip protocol suite
US5963924A (en) * 1996-04-26 1999-10-05 Verifone, Inc. System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce
US5974443A (en) * 1997-09-26 1999-10-26 Intervoice Limited Partnership Combined internet and data access system
US5978840A (en) * 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US5987140A (en) * 1996-04-26 1999-11-16 Verifone, Inc. System, method and article of manufacture for secure network electronic payment and credit collection
US5996076A (en) * 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet
US6016484A (en) * 1996-04-26 2000-01-18 Verifone, Inc. System, method and article of manufacture for network electronic payment instrument and certification of payment and credit collection utilizing a payment
US6035301A (en) * 1996-12-20 2000-03-07 Tandem Computers, Inc. Method and apparatus for accessing transaction services using object linking and embedding
US6038587A (en) * 1996-09-03 2000-03-14 Insession, Inc. System, method and article of manufacture for universal transaction processing over multiple transaction processing systems
US6061665A (en) * 1997-06-06 2000-05-09 Verifone, Inc. System, method and article of manufacture for dynamic negotiation of a network payment framework
US6072870A (en) * 1996-06-17 2000-06-06 Verifone Inc. System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6112183A (en) * 1997-02-11 2000-08-29 United Healthcare Corporation Method and apparatus for processing health care transactions through a common interface in a distributed computing environment
US6119105A (en) * 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
US6125384A (en) * 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
US6141679A (en) * 1998-02-06 2000-10-31 Unisys Corporation High performance distributed transaction processing methods and apparatus
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6151637A (en) * 1996-09-04 2000-11-21 Insession, Inc. System, method and article of manufacture for dynamic addition of new components to a universal transaction processing system
US6157927A (en) * 1998-04-22 2000-12-05 Unisys Corporation Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager
EP1059592A1 (en) * 1999-06-07 2000-12-13 Kawasaki Steel Systems R & D Corporation Database access system to deliver and store information
US6192362B1 (en) * 1997-12-15 2001-02-20 International Business Machines Corporation System and method for creating a search form for accessing directory information
US6192363B1 (en) * 1997-06-25 2001-02-20 Nec Corporation Method and apparatus for supplying multi-media data to a client by using threads
US6195794B1 (en) * 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
US6195666B1 (en) 1997-12-15 2001-02-27 International Business Machines Corporation Web interface and method for displaying directory information
US6208986B1 (en) * 1997-12-15 2001-03-27 International Business Machines Corporation Web interface and method for accessing and displaying directory information
WO2001039009A2 (en) * 1999-11-24 2001-05-31 Unisys Corporation Method and apparatus for a web application server to provide an administration system using a dual set of tiered groups of objects
WO2001045057A1 (en) * 1999-12-14 2001-06-21 Hypercom Corporation Method and apparatus for point of sale device to access web site for processing orders and fulfillment information
US6260039B1 (en) * 1997-12-15 2001-07-10 International Business Machines Corporation Web interface and method for accessing directory information
US20010016875A1 (en) * 1997-07-11 2001-08-23 Schwartz Bruce V. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
US6289393B1 (en) 1996-09-03 2001-09-11 Insession Inc. System, method and article of manufacture for transaction processing and monitoring of independent interacts
US20010036182A1 (en) * 2000-01-06 2001-11-01 Frank Addante Method and apparatus for selecting and delivering internet based advertising
US20010039537A1 (en) * 1997-02-12 2001-11-08 Carpenter Richard Christopher Network-enabled, extensible metering system
US6321251B1 (en) * 1998-10-01 2001-11-20 Unisys Corporation Gateway for dynamically providing web site status information
US6324539B1 (en) * 1998-11-09 2001-11-27 Unisys Corporation Cool ice state management
US6324681B1 (en) * 1998-10-01 2001-11-27 Unisys Corporation Automated development system for developing applications that interface with both distributed component object model (DCOM) and enterprise server environments
US6336135B1 (en) * 1996-05-24 2002-01-01 International Business Machines Corporation Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client
US6345291B2 (en) * 1996-06-03 2002-02-05 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6351749B1 (en) * 1999-09-30 2002-02-26 Ncr Corporation Multi-threading, multi-tasking architecture for a relational database management system
WO2002019127A1 (en) * 2000-08-25 2002-03-07 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (eai) and development system
US6363057B1 (en) 1997-02-12 2002-03-26 Abb Automation Inc. Remote access to electronic meters using a TCP/IP protocol suite
US6370588B2 (en) * 1998-11-09 2002-04-09 Unisys Corporation Cool ice service handler
US20020042849A1 (en) * 2000-08-08 2002-04-11 International Business Machines Corporation CICS BMS (Basic Message Service) meta model
US6373950B1 (en) 1996-06-17 2002-04-16 Hewlett-Packard Company System, method and article of manufacture for transmitting messages within messages utilizing an extensible, flexible architecture
US6397253B1 (en) 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US6397220B1 (en) * 1998-10-01 2002-05-28 Unisys Corporation Common gateway which allows JAVA applets to make program calls to OLTP applications executing on an enterprise server reference to co-pending applications
US6401114B1 (en) * 1997-05-01 2002-06-04 Stratum Technologies Corporation Method and apparatus for dynamic programming across a computer network
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
US20020082923A1 (en) * 1997-06-16 2002-06-27 Merriman Dwight A. Network for distribution of re-targeted advertising
US6415335B1 (en) * 1996-04-23 2002-07-02 Epicrealm Operating Inc. System and method for managing dynamic web page generation requests
US6442618B1 (en) * 1996-09-23 2002-08-27 Insession, Inc. System, method and article of manufacture for universal transaction processing
US20020129091A1 (en) * 2001-01-08 2002-09-12 International Business Machines Corporation Computationally efficient, platform-independent data transfer protocol
US20020133414A1 (en) * 2001-03-14 2002-09-19 Pradhan Salil Vjaykumar Mediated shopping method and system
US20020133585A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Computer program for recording and selective playback of a communication involving the hypertext transfer protocol
US20020133450A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Hypertext transfer protocol application programming interface between client-side trading systems and server-side stock trading systems
US6457041B1 (en) * 1999-02-19 2002-09-24 International Business Machines Corporation Client-server transaction data processing system with optimum selection of last agent
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US20020176670A1 (en) * 2001-05-10 2002-11-28 Masao Shinoda Connector ferrule for connecting optical fibers
US20020194244A1 (en) * 2001-06-01 2002-12-19 Joan Raventos System and method for enabling transaction-based service utilizing non-transactional resources
US6502104B2 (en) 1999-11-08 2002-12-31 International Business Machines Corporation System message objects for communicating between an application and a database management system
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6519615B1 (en) 1996-10-11 2003-02-11 Sun Microsystems, Inc. Method and system for leasing storage
US6523041B1 (en) * 1997-07-29 2003-02-18 Acxiom Corporation Data linking system and method using tokens
US6539383B2 (en) 1999-11-08 2003-03-25 International Business Machines Corporation Communication and interaction objects for connecting an application to a database management system
US6539370B1 (en) 1998-11-13 2003-03-25 International Business Machines Corporation Dynamically generated HTML formatted reports
US20030074401A1 (en) * 2001-05-23 2003-04-17 Brian Connell Method and system for communication between computer systems
US6560633B1 (en) 1999-06-10 2003-05-06 Bow Street Software, Inc. Method for creating network services by transforming an XML runtime model in response to an iterative input process
US20030125992A1 (en) * 2001-12-26 2003-07-03 The Crawford Group, Inc. Web browser based computer network for processing vehicle rental transactions on a large scale
US6591298B1 (en) 2000-04-24 2003-07-08 Keynote Systems, Inc. Method and system for scheduling measurement of site performance over the internet
US20030135512A1 (en) * 1997-07-29 2003-07-17 Morgan Charles D. Data linking system and method using encoded links
US6611817B1 (en) 1999-06-17 2003-08-26 International Business Machines Corporation Automated technique for code generation of datastream mappings
US20030161473A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to securely distribute content via a network
US20030163684A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to securely distribute content via a network
US20030161335A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to dynamically present a payment gateway for content distributed via a network
US20030161476A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to store and distribute encryption keys
US20030165241A1 (en) * 2000-06-16 2003-09-04 Fransdonk Robert W. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US6654814B1 (en) 1999-01-26 2003-11-25 International Business Machines Corporation Systems, methods and computer program products for dynamic placement of web content tailoring
US20030220962A1 (en) * 2002-04-03 2003-11-27 International Business Machines Corporation Enhancing application server performance by relocating performance-degrading processing
US20030229590A1 (en) * 2001-12-12 2003-12-11 Byrne Shannon Lee Global integrated payment system
US20040001008A1 (en) * 2002-06-27 2004-01-01 Shuey Kenneth C. Dynamic self-configuring metering network
US20040024610A1 (en) * 1998-01-26 2004-02-05 Sergey Fradkov Transaction execution system interface and enterprise system architecture thereof
US20040039612A1 (en) * 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
US6715080B1 (en) * 1998-10-01 2004-03-30 Unisys Corporation Making CGI variables and cookie information available to an OLTP system
US20040103145A1 (en) * 1998-05-01 2004-05-27 Jenkins Jimmy J. Method and apparatus for dynamic programming across a computer network
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6760844B1 (en) * 1999-07-30 2004-07-06 Unisys Corporation Secure transactions sessions
US6766351B1 (en) * 1999-10-07 2004-07-20 Cisco Technology, Inc. Method and apparatus for communicating information between a browser and an application program
US6775772B1 (en) * 1999-10-12 2004-08-10 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure low-overhead browser connections from a client to a server using a trusted third party
US6779178B1 (en) 1997-03-07 2004-08-17 Signature Mail. Com, Llc System and method for personalizing electronic mail messages
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6799195B1 (en) 1996-08-20 2004-09-28 Invensys Systems, Inc. Method and apparatus for remote process control using applets
US20040259534A1 (en) * 2003-06-23 2004-12-23 July Systems Inc. Policy service system and methodology
US20040267878A1 (en) * 2003-06-26 2004-12-30 Osias Michael J Method, system and program product for providing a status of a transaction with an application on a server
US20050044274A1 (en) * 2001-03-13 2005-02-24 Deming Douglas R. Methods of handling automated trading
US6889360B1 (en) * 1999-08-30 2005-05-03 International Business Machines Corporation Representing IMS transaction definitions as XML documents
US6901425B1 (en) 1996-12-23 2005-05-31 International Business Machines Corporation Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web
US20050131832A1 (en) * 2000-06-16 2005-06-16 Entriq Inc., Irdeto Access B.V. Separate authentication processes to secure content
US20050206365A1 (en) * 2004-03-18 2005-09-22 Shuey Kenneth C Reducing power consumption of electrical meters
US20050206366A1 (en) * 2004-03-18 2005-09-22 Shuey Kenneth C Bias technique for electric utility meter
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US20050216880A1 (en) * 1998-10-01 2005-09-29 Unisys Corporation Automatic system for updating data
US20050262097A1 (en) * 2004-05-07 2005-11-24 Sim-Tang Siew Y System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US20060004670A1 (en) * 1999-09-24 2006-01-05 Mckenney Mary K System and method for providing payment services in electronic commerce
US20060085501A1 (en) * 2004-10-20 2006-04-20 Alcatel Mediation system for browsing Internet applications and non-Internet applications
US20060089880A1 (en) * 1997-06-16 2006-04-27 Merriman Dwight A Method and apparatus for automatic placement of advertising
US20060101384A1 (en) * 2004-11-02 2006-05-11 Sim-Tang Siew Y Management interface for a system that provides automated, real-time, continuous data protection
US20060123227A1 (en) * 2000-09-08 2006-06-08 Miller Lawrence R System and method for transparently providing certificate validation and other services within an electronic transaction
US20060179008A1 (en) * 2000-09-08 2006-08-10 Tallent Guy S Jr Provision of authorization and other services
US20060193474A1 (en) * 2002-12-16 2006-08-31 Entriq Inc. Content distribution using set of session keys
US7111077B1 (en) * 2000-12-22 2006-09-19 Unisys Corporation Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems
US7139971B1 (en) * 1999-07-21 2006-11-21 Nec Corporation Method of searching for and retrieving information from structure documents
US20070047002A1 (en) * 2005-08-23 2007-03-01 Hull Jonathan J Embedding Hot Spots in Electronic Documents
US7197557B1 (en) 2001-05-29 2007-03-27 Keynote Systems, Inc. Method and system for evaluating quality of service for streaming audio and video
US7233920B1 (en) 2000-09-07 2007-06-19 Paymentech, L.P. System and apparatus for credit transaction data transmission
US20070180496A1 (en) * 2000-06-16 2007-08-02 Entriq, Inc. Method and system to dynamically present a payment gateway for content distributed via a network
US7275109B1 (en) * 2002-04-02 2007-09-25 Nortel Networks Limited Network communication authentication
US7275038B1 (en) 2000-08-18 2007-09-25 The Crawford Group, Inc. Web enabled business to business operating system for rental car services
US20070294261A1 (en) * 2006-06-14 2007-12-20 Siemens Aktiengesellschaft Communication system for processing data
US20080022010A1 (en) * 2001-02-09 2008-01-24 Franklin Richard L Enhanced data exchange and presentation/communication system
US20080109362A1 (en) * 2002-12-16 2008-05-08 Entriq Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US7373376B1 (en) 1999-12-30 2008-05-13 Keynote Systems, Inc. Method and system for evaluating quality of service over the internet
US7392321B1 (en) 2001-05-30 2008-06-24 Keynote Systems, Inc. Method and system for evaluating quality of service for transactions over a network
US20080155006A1 (en) * 2001-02-09 2008-06-26 Comlet Technologies Headquarters Enhanced data exchange and functionality control system and method
US7424616B1 (en) * 1999-09-10 2008-09-09 Identrus System and method for facilitating access by sellers to certificate-related and other services
US20080271049A1 (en) * 2002-09-16 2008-10-30 International Business Machines Corporation Method for facilitating transactions between thin-clients and message format service (mfs)-based information management system (ims) applications
US20090070415A1 (en) * 2006-07-31 2009-03-12 Hidenobu Kishi Architecture for mixed media reality retrieval of locations and registration of images
US20090210703A1 (en) * 2008-01-18 2009-08-20 Epstein William C Binding a digital certificate to multiple trust domains
US20100023392A1 (en) * 1996-10-29 2010-01-28 Google Inc. Method of Delivery of Targeting, and Measuring Advertising Over Networks
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US7702594B2 (en) 2004-09-24 2010-04-20 Elster Electricity, Llc System and method for automated configuration of meters
US7742430B2 (en) 2004-09-24 2010-06-22 Elster Electricity, Llc System for automated management of spontaneous node migration in a distributed fixed wireless network
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7778717B2 (en) 2002-04-15 2010-08-17 Invensys Systems, Inc. Component object model communication method for a control system
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US20100250666A1 (en) * 1999-07-26 2010-09-30 Microsoft Corporation Apparatus and computer-readable media for processing http requests
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US7890927B2 (en) 1999-05-17 2011-02-15 Invensys Systems, Inc. Apparatus and method for configuring and editing a control system with live data
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US20110231774A1 (en) * 2010-03-18 2011-09-22 Konica Minolta Business Technologies, Inc. Image processing apparatus, data processing method therefor, and recording medium
US8060889B2 (en) 2004-05-10 2011-11-15 Quest Software, Inc. Method and system for real-time event journaling to provide enterprise data services
US8073384B2 (en) 2006-12-14 2011-12-06 Elster Electricity, Llc Optimization of redundancy and throughput in an automated meter data collection system using a wireless network
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8203463B2 (en) 2009-02-13 2012-06-19 Elster Electricity Llc Wakeup and interrogation of meter-reading devices using licensed narrowband and unlicensed wideband radio communication
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US8320302B2 (en) 2007-04-20 2012-11-27 Elster Electricity, Llc Over the air microcontroller flash memory updates
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US8368640B2 (en) 1999-05-17 2013-02-05 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
CN103077037A (en) * 2013-01-31 2013-05-01 五八同城信息技术有限公司 High-concurrency expandable operation system
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US20130174019A1 (en) * 2003-04-04 2013-07-04 NetSuite Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US8525692B2 (en) 2008-06-13 2013-09-03 Elster Solutions, Llc Techniques for limiting demand from an electricity meter with an installed relay
US8543733B1 (en) * 1999-05-12 2013-09-24 Unisys Corporation DCOM object control creator
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US8818903B2 (en) 1999-09-10 2014-08-26 Charles Dulin Transaction coordinator for digital certificate validation and other services
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US8892595B2 (en) 2011-07-27 2014-11-18 Ricoh Co., Ltd. Generating a discussion group in a social network based on similar source materials
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US8965145B2 (en) 2006-07-31 2015-02-24 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US8989431B1 (en) 2007-07-11 2015-03-24 Ricoh Co., Ltd. Ad hoc paper-based networking with mixed media reality
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US9026553B2 (en) * 2012-11-29 2015-05-05 Unisys Corporation Data expanse viewer for database systems
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US9063953B2 (en) 2004-10-01 2015-06-23 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US9087104B2 (en) 2006-01-06 2015-07-21 Ricoh Company, Ltd. Dynamic presentation of targeted information in a mixed media reality recognition system
US9092423B2 (en) 2007-07-12 2015-07-28 Ricoh Co., Ltd. Retrieving electronic documents by converting them to synthetic text
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US9311336B2 (en) 2006-07-31 2016-04-12 Ricoh Co., Ltd. Generating and storing a printed representation of a document on a local computer upon printing
US9357098B2 (en) 2005-08-23 2016-05-31 Ricoh Co., Ltd. System and methods for use of voice mail and email in a mixed media environment
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US9612132B2 (en) 2007-12-26 2017-04-04 Elster Solutions, Llc Optimized data collection in a wireless fixed network metering system
US9681016B2 (en) 2014-02-26 2017-06-13 Xerox Corporation Methods and systems for capturing, sharing, and printing annotations
US9684889B2 (en) 1999-02-12 2017-06-20 Identrust, Inc. System and method for providing certification-related and other services
US9870388B2 (en) 2006-07-31 2018-01-16 Ricoh, Co., Ltd. Analyzing usage of visual content to determine relationships indicating unsuccessful attempts to retrieve the visual content
US9934212B2 (en) 2014-02-26 2018-04-03 Xerox Corporation Methods and systems for capturing, sharing, and printing annotations
US10466872B1 (en) * 2013-12-20 2019-11-05 Open Text Corporation Composable events for dynamic user interface composition
US10540150B2 (en) 2013-12-20 2020-01-21 Open Text Corporation Composable context menus
US10659567B2 (en) 2013-12-20 2020-05-19 Open Text Corporation Dynamic discovery and management of page fragments

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4774655A (en) * 1984-10-24 1988-09-27 Telebase Systems, Inc. System for retrieving information from a plurality of remote databases having at least two different languages
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
US5428776A (en) * 1991-03-12 1995-06-27 Wang Laboratories, Inc. System for composing a graphical interface to a relational database which displays a network of query and source icons
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US5623656A (en) * 1994-12-15 1997-04-22 Lucent Technologies Inc. Script-based data communication system and method utilizing state memory
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4774655A (en) * 1984-10-24 1988-09-27 Telebase Systems, Inc. System for retrieving information from a plurality of remote databases having at least two different languages
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5129082A (en) * 1990-03-27 1992-07-07 Sun Microsystems, Inc. Method and apparatus for searching database component files to retrieve information from modified files
US5428776A (en) * 1991-03-12 1995-06-27 Wang Laboratories, Inc. System for composing a graphical interface to a relational database which displays a network of query and source icons
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US5623656A (en) * 1994-12-15 1997-04-22 Lucent Technologies Inc. Script-based data communication system and method utilizing state memory
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Francis Heylighen, World Wide Web: a distributed hypermedia paradigm for global networking, Apr. 18, 1994, IEE/INSPEC Database Updates and Additions (1960 95) doc. 1374618; Proceedings. Share Europe Spring Conference pp. 355 368., 1994. *
Francis Heylighen, World-Wide Web: a distributed hypermedia paradigm for global networking, Apr. 18, 1994, IEE/INSPEC Database Updates and Additions (1960-95) doc. # 1374618; Proceedings. Share Europe Spring Conference pp. 355-368., 1994.

Cited By (325)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415335B1 (en) * 1996-04-23 2002-07-02 Epicrealm Operating Inc. System and method for managing dynamic web page generation requests
US5987140A (en) * 1996-04-26 1999-11-16 Verifone, Inc. System, method and article of manufacture for secure network electronic payment and credit collection
US5963924A (en) * 1996-04-26 1999-10-05 Verifone, Inc. System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce
US6016484A (en) * 1996-04-26 2000-01-18 Verifone, Inc. System, method and article of manufacture for network electronic payment instrument and certification of payment and credit collection utilizing a payment
US6336135B1 (en) * 1996-05-24 2002-01-01 International Business Machines Corporation Gateway for converting synchronous client/server protocols into asynchronous messaging protocols and storing session state information at the client
US6345291B2 (en) * 1996-06-03 2002-02-05 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6373950B1 (en) 1996-06-17 2002-04-16 Hewlett-Packard Company System, method and article of manufacture for transmitting messages within messages utilizing an extensible, flexible architecture
US5889863A (en) * 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture
US6119105A (en) * 1996-06-17 2000-09-12 Verifone, Inc. System, method and article of manufacture for initiation of software distribution from a point of certificate creation utilizing an extensible, flexible architecture
US5943424A (en) * 1996-06-17 1999-08-24 Hewlett-Packard Company System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture
US6072870A (en) * 1996-06-17 2000-06-06 Verifone Inc. System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US7739361B2 (en) 1996-08-20 2010-06-15 Thibault Richard L Methods for remote process control with networked digital data processors and a virtual machine environment
US7720944B2 (en) 1996-08-20 2010-05-18 Invensys Systems, Inc. Process control system with networked digital data processors and a virtual machine environment
US20080120367A1 (en) * 1996-08-20 2008-05-22 Invensys Systems, Inc. Process control system with networked digital data processors and a virtual machine environment
US7882197B2 (en) 1996-08-20 2011-02-01 Invensys Systems, Inc. Control system methods that transfer control apparatus information over IP networks in web page-less transfers
US7899070B2 (en) 1996-08-20 2011-03-01 Invensys Systems, Inc. Control system apparatus with change updates
US8081584B2 (en) 1996-08-20 2011-12-20 Invensys Systems, Inc. Control system apparatus and systems using value-based transfers
US20080119951A1 (en) * 1996-08-20 2008-05-22 Invensys Systems, Inc. Control system methods using value-based transfers
US8023500B2 (en) 1996-08-20 2011-09-20 Invensys Systems, Inc. Methods for process control with change updates
US6799195B1 (en) 1996-08-20 2004-09-28 Invensys Systems, Inc. Method and apparatus for remote process control using applets
US7979488B2 (en) 1996-08-20 2011-07-12 Invensys Systems, Inc. Control system methods using value-based transfers
US6289393B1 (en) 1996-09-03 2001-09-11 Insession Inc. System, method and article of manufacture for transaction processing and monitoring of independent interacts
US6038587A (en) * 1996-09-03 2000-03-14 Insession, Inc. System, method and article of manufacture for universal transaction processing over multiple transaction processing systems
US6151637A (en) * 1996-09-04 2000-11-21 Insession, Inc. System, method and article of manufacture for dynamic addition of new components to a universal transaction processing system
US6442618B1 (en) * 1996-09-23 2002-08-27 Insession, Inc. System, method and article of manufacture for universal transaction processing
US5978840A (en) * 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US6304915B1 (en) * 1996-09-26 2001-10-16 Hewlett-Packard Company System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
EP0934578A2 (en) 1996-09-26 1999-08-11 Verifone, Inc. A system, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US5931917A (en) * 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US6519615B1 (en) 1996-10-11 2003-02-11 Sun Microsystems, Inc. Method and system for leasing storage
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6484150B1 (en) 1996-10-16 2002-11-19 Microsoft Corporation Electronic shopping and merchandising system accessing legacy data in a database independent schema manner
US8676644B2 (en) 1996-10-29 2014-03-18 Google Inc. Method of delivery, targeting, and measuring advertising over networks
US20100023392A1 (en) * 1996-10-29 2010-01-28 Google Inc. Method of Delivery of Targeting, and Measuring Advertising Over Networks
US20110191176A1 (en) * 1996-10-29 2011-08-04 Google Inc. Method of delivery, targeting, and measuring advertising over networks
US7844488B2 (en) 1996-10-29 2010-11-30 Doubleclick Inc. Method of delivery, targeting, and measuring advertising over networks
USRE44724E1 (en) * 1996-10-29 2014-01-21 Google Inc. Method of delivery, targeting, and measuring advertising over networks
US7827062B2 (en) 1996-10-29 2010-11-02 Google Inc. Method of delivery, targeting, and measuring advertising over networks
US7930207B2 (en) 1996-10-29 2011-04-19 Google Inc. Method of delivery, targeting, and measuring advertising over networks
USRE44899E1 (en) 1996-10-29 2014-05-13 Google Inc. Method of delivery, targeting, and measuring advertising over networks
WO1998025376A2 (en) * 1996-12-02 1998-06-11 First Data Corporation Method and apparatus for improved transaction processing in a distributed computing environment
US6625610B1 (en) 1996-12-20 2003-09-23 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing transaction services using object linking and embedding
US6035301A (en) * 1996-12-20 2000-03-07 Tandem Computers, Inc. Method and apparatus for accessing transaction services using object linking and embedding
US6901425B1 (en) 1996-12-23 2005-05-31 International Business Machines Corporation Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web
US6125384A (en) * 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US6144990A (en) * 1996-12-23 2000-11-07 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web using universal variable handling
US6112183A (en) * 1997-02-11 2000-08-29 United Healthcare Corporation Method and apparatus for processing health care transactions through a common interface in a distributed computing environment
US20060209844A1 (en) * 1997-02-12 2006-09-21 Carpenter Richard C Network-enabled, extensible metering system
US6747981B2 (en) 1997-02-12 2004-06-08 Elster Electricity, Llc Remote access to electronic meters using a TCP/IP protocol suite
US6363057B1 (en) 1997-02-12 2002-03-26 Abb Automation Inc. Remote access to electronic meters using a TCP/IP protocol suite
US6396839B1 (en) 1997-02-12 2002-05-28 Abb Automation Inc. Remote access to electronic meters using a TCP/IP protocol suite
US20010039537A1 (en) * 1997-02-12 2001-11-08 Carpenter Richard Christopher Network-enabled, extensible metering system
US5996076A (en) * 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
US6779178B1 (en) 1997-03-07 2004-08-17 Signature Mail. Com, Llc System and method for personalizing electronic mail messages
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
US20050198364A1 (en) * 1997-03-17 2005-09-08 Microsoft Corporation Methods and apparatus for communication media commands and data using the HTTP protocol
US7664871B2 (en) 1997-03-17 2010-02-16 Microsoft Corporation Methods and apparatus for communication media commands and data using the HTTP protocol
US20060041917A1 (en) * 1997-03-17 2006-02-23 Microsoft Corporation Techniques for automatically detecting protocols in a computer network
US7761585B2 (en) 1997-03-17 2010-07-20 Microsoft Corporation Techniques for automatically detecting protocols in a computer network
US6401114B1 (en) * 1997-05-01 2002-06-04 Stratum Technologies Corporation Method and apparatus for dynamic programming across a computer network
US20040073911A1 (en) * 1997-05-01 2004-04-15 Jenkins Jimmy J. Method and apparatus for dynamic programming across a computer network
US8639776B1 (en) 1997-05-01 2014-01-28 Jimmy J. Jenkins Dynamic programming across a computer network
US6678723B2 (en) 1997-05-01 2004-01-13 Startum Technologies Corporation Method and apparatus for dynamic programming across a computer network
US7624161B1 (en) 1997-05-01 2009-11-24 Open Invention Network, Llc Method and apparatus for email programming across a computer network
US7774429B2 (en) 1997-05-01 2010-08-10 Open Invention Network, Llc Method and apparatus for dynamic programming across a computer network
US6625647B1 (en) 1997-06-03 2003-09-23 Keynote Systems, Inc. Method and apparatus for evaluating service to a user over the internet
US6006260A (en) * 1997-06-03 1999-12-21 Keynote Systems, Inc. Method and apparatus for evalutating service to a user over the internet
US6061665A (en) * 1997-06-06 2000-05-09 Verifone, Inc. System, method and article of manufacture for dynamic negotiation of a network payment framework
US5847957A (en) * 1997-06-16 1998-12-08 Base Ten Systems, Inc. Web access for a manufacturing execution system
US20020082923A1 (en) * 1997-06-16 2002-06-27 Merriman Dwight A. Network for distribution of re-targeted advertising
US7039599B2 (en) * 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US20060089880A1 (en) * 1997-06-16 2006-04-27 Merriman Dwight A Method and apparatus for automatic placement of advertising
US8566154B2 (en) * 1997-06-16 2013-10-22 Google Inc. Network for distribution of re-targeted advertising
US6192363B1 (en) * 1997-06-25 2001-02-20 Nec Corporation Method and apparatus for supplying multi-media data to a client by using threads
US20010016875A1 (en) * 1997-07-11 2001-08-23 Schwartz Bruce V. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
US6766327B2 (en) * 1997-07-29 2004-07-20 Acxiom Corporation Data linking system and method using encoded links
US20030135512A1 (en) * 1997-07-29 2003-07-17 Morgan Charles D. Data linking system and method using encoded links
US6523041B1 (en) * 1997-07-29 2003-02-18 Acxiom Corporation Data linking system and method using tokens
WO1999008208A1 (en) * 1997-08-12 1999-02-18 Aoraki Corporation Limited Internet transaction processing interface
US6195794B1 (en) * 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
AU743497B2 (en) * 1997-08-12 2002-01-24 Aoraki Corporation Limited Internet transaction processing interface
US5974443A (en) * 1997-09-26 1999-10-26 Intervoice Limited Partnership Combined internet and data access system
US6208986B1 (en) * 1997-12-15 2001-03-27 International Business Machines Corporation Web interface and method for accessing and displaying directory information
US6192362B1 (en) * 1997-12-15 2001-02-20 International Business Machines Corporation System and method for creating a search form for accessing directory information
US6195666B1 (en) 1997-12-15 2001-02-27 International Business Machines Corporation Web interface and method for displaying directory information
US6260039B1 (en) * 1997-12-15 2001-07-10 International Business Machines Corporation Web interface and method for accessing directory information
US7415715B2 (en) * 1998-01-26 2008-08-19 Simplexity, Llc C/O Versa Capital Management, Inc. Transaction execution system interface and enterprise system architecture thereof
US20080271048A1 (en) * 1998-01-26 2008-10-30 Sergey Fradkov Transaction Execution System Interface and Enterprise System Architecture Thereof
US20040024610A1 (en) * 1998-01-26 2004-02-05 Sergey Fradkov Transaction execution system interface and enterprise system architecture thereof
US6141679A (en) * 1998-02-06 2000-10-31 Unisys Corporation High performance distributed transaction processing methods and apparatus
AU752417B2 (en) * 1998-03-09 2002-09-19 Abb Inc. Remote access to electronic meters using a TCP/IP protocol suite
WO1999046746A1 (en) * 1998-03-09 1999-09-16 Abb Power T & D Company Inc. Remote access to electronic meters using a tcp/ip protocol suite
US6157927A (en) * 1998-04-22 2000-12-05 Unisys Corporation Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager
US20040103145A1 (en) * 1998-05-01 2004-05-27 Jenkins Jimmy J. Method and apparatus for dynamic programming across a computer network
US7162519B2 (en) 1998-05-01 2007-01-09 Stratum Technologies Corporation Structure and method for providing customized web pages-therefor
US20050216880A1 (en) * 1998-10-01 2005-09-29 Unisys Corporation Automatic system for updating data
US6715080B1 (en) * 1998-10-01 2004-03-30 Unisys Corporation Making CGI variables and cookie information available to an OLTP system
US6321251B1 (en) * 1998-10-01 2001-11-20 Unisys Corporation Gateway for dynamically providing web site status information
US6397220B1 (en) * 1998-10-01 2002-05-28 Unisys Corporation Common gateway which allows JAVA applets to make program calls to OLTP applications executing on an enterprise server reference to co-pending applications
US6324681B1 (en) * 1998-10-01 2001-11-27 Unisys Corporation Automated development system for developing applications that interface with both distributed component object model (DCOM) and enterprise server environments
US6397253B1 (en) 1998-10-06 2002-05-28 Bull Hn Information Systems Inc. Method and system for providing high performance Web browser and server communications
US6700902B1 (en) 1998-10-19 2004-03-02 Elster Electricity, Llc Method and system for improving wireless data packet delivery
US6324539B1 (en) * 1998-11-09 2001-11-27 Unisys Corporation Cool ice state management
US6370588B2 (en) * 1998-11-09 2002-04-09 Unisys Corporation Cool ice service handler
US6539370B1 (en) 1998-11-13 2003-03-25 International Business Machines Corporation Dynamically generated HTML formatted reports
US6654814B1 (en) 1999-01-26 2003-11-25 International Business Machines Corporation Systems, methods and computer program products for dynamic placement of web content tailoring
US9684889B2 (en) 1999-02-12 2017-06-20 Identrust, Inc. System and method for providing certification-related and other services
US6457041B1 (en) * 1999-02-19 2002-09-24 International Business Machines Corporation Client-server transaction data processing system with optimum selection of last agent
US8543733B1 (en) * 1999-05-12 2013-09-24 Unisys Corporation DCOM object control creator
US7890927B2 (en) 1999-05-17 2011-02-15 Invensys Systems, Inc. Apparatus and method for configuring and editing a control system with live data
US8229579B2 (en) 1999-05-17 2012-07-24 Invensys Systems, Inc. Control systems and methods with versioning
US8028275B2 (en) 1999-05-17 2011-09-27 Invensys Systems, Inc. Control systems and methods with smart blocks
US8028272B2 (en) 1999-05-17 2011-09-27 Invensys Systems, Inc. Control system configurator and methods with edit selection
US7984420B2 (en) 1999-05-17 2011-07-19 Invensys Systems, Inc. Control systems and methods with composite blocks
US8060222B2 (en) 1999-05-17 2011-11-15 Invensys Systems, Inc. Control system configurator and methods with object characteristic swapping
US8368640B2 (en) 1999-05-17 2013-02-05 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US8225271B2 (en) 1999-05-17 2012-07-17 Invensys Systems, Inc. Apparatus for control systems with objects that are associated with live data
US6526406B1 (en) 1999-06-07 2003-02-25 Kawasaki Steel Systems R & D Corporation Database access system to deliver and store information
EP1059592A1 (en) * 1999-06-07 2000-12-13 Kawasaki Steel Systems R & D Corporation Database access system to deliver and store information
US6560633B1 (en) 1999-06-10 2003-05-06 Bow Street Software, Inc. Method for creating network services by transforming an XML runtime model in response to an iterative input process
US8090452B2 (en) 1999-06-11 2012-01-03 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6611817B1 (en) 1999-06-17 2003-08-26 International Business Machines Corporation Automated technique for code generation of datastream mappings
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US7139971B1 (en) * 1999-07-21 2006-11-21 Nec Corporation Method of searching for and retrieving information from structure documents
US8103720B2 (en) * 1999-07-26 2012-01-24 Microsoft Corporation Apparatus and computer-readable media for processing HTTP requests
US20100250666A1 (en) * 1999-07-26 2010-09-30 Microsoft Corporation Apparatus and computer-readable media for processing http requests
US8359391B2 (en) 1999-07-26 2013-01-22 Microsoft Corporation Apparatus and computer-readable media for processing HTTP requests determine scoping mapping between a mapped resource name extension and a content type
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6760844B1 (en) * 1999-07-30 2004-07-06 Unisys Corporation Secure transactions sessions
US6889360B1 (en) * 1999-08-30 2005-05-03 International Business Machines Corporation Representing IMS transaction definitions as XML documents
US8818903B2 (en) 1999-09-10 2014-08-26 Charles Dulin Transaction coordinator for digital certificate validation and other services
US7424616B1 (en) * 1999-09-10 2008-09-09 Identrus System and method for facilitating access by sellers to certificate-related and other services
US6405216B1 (en) 1999-09-17 2002-06-11 International Business Machines Corporation Internet-based application program interface (API) documentation interface
US20060004670A1 (en) * 1999-09-24 2006-01-05 Mckenney Mary K System and method for providing payment services in electronic commerce
US7765161B2 (en) 1999-09-24 2010-07-27 Identrust, Inc. System and method for providing payment services in electronic commerce
US6351749B1 (en) * 1999-09-30 2002-02-26 Ncr Corporation Multi-threading, multi-tasking architecture for a relational database management system
US7409672B1 (en) 1999-10-07 2008-08-05 Cisco Technology, Inc. Method and apparatus for communicating information between a browser and an application program
US6766351B1 (en) * 1999-10-07 2004-07-20 Cisco Technology, Inc. Method and apparatus for communicating information between a browser and an application program
US6775772B1 (en) * 1999-10-12 2004-08-10 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure low-overhead browser connections from a client to a server using a trusted third party
US6539383B2 (en) 1999-11-08 2003-03-25 International Business Machines Corporation Communication and interaction objects for connecting an application to a database management system
US6502104B2 (en) 1999-11-08 2002-12-31 International Business Machines Corporation System message objects for communicating between an application and a database management system
WO2001039009A2 (en) * 1999-11-24 2001-05-31 Unisys Corporation Method and apparatus for a web application server to provide an administration system using a dual set of tiered groups of objects
WO2001039009A3 (en) * 1999-11-24 2002-08-15 Unisys Corp Method and apparatus for a web application server to provide an administration system using a dual set of tiered groups of objects
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
WO2001045057A1 (en) * 1999-12-14 2001-06-21 Hypercom Corporation Method and apparatus for point of sale device to access web site for processing orders and fulfillment information
US7373376B1 (en) 1999-12-30 2008-05-13 Keynote Systems, Inc. Method and system for evaluating quality of service over the internet
US20010036182A1 (en) * 2000-01-06 2001-11-01 Frank Addante Method and apparatus for selecting and delivering internet based advertising
US6591298B1 (en) 2000-04-24 2003-07-08 Keynote Systems, Inc. Method and system for scheduling measurement of site performance over the internet
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US7536563B2 (en) 2000-06-16 2009-05-19 Entriq, Inc. Method and system to securely store and distribute content encryption keys
US7404084B2 (en) 2000-06-16 2008-07-22 Entriq Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US7237255B2 (en) * 2000-06-16 2007-06-26 Entriq Inc. Method and system to dynamically present a payment gateway for content distributed via a network
US20030161473A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to securely distribute content via a network
US20070180496A1 (en) * 2000-06-16 2007-08-02 Entriq, Inc. Method and system to dynamically present a payment gateway for content distributed via a network
US20030163684A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to securely distribute content via a network
US20030161335A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to dynamically present a payment gateway for content distributed via a network
US20030161476A1 (en) * 2000-06-16 2003-08-28 Fransdonk Robert W. Method and system to store and distribute encryption keys
US7228427B2 (en) 2000-06-16 2007-06-05 Entriq Inc. Method and system to securely distribute content via a network
US20030165241A1 (en) * 2000-06-16 2003-09-04 Fransdonk Robert W. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US20050131832A1 (en) * 2000-06-16 2005-06-16 Entriq Inc., Irdeto Access B.V. Separate authentication processes to secure content
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6993137B2 (en) 2000-06-16 2006-01-31 Entriq, Inc. Method and system to securely distribute content via a network
US20060210084A1 (en) * 2000-06-16 2006-09-21 Entriq Inc. Method and system to securely store and distribute content encryption keys
US7415721B2 (en) 2000-06-16 2008-08-19 Entriq, Inc. Separate authentication processes to secure content
US7107462B2 (en) 2000-06-16 2006-09-12 Irdeto Access B.V. Method and system to store and distribute encryption keys
US7389531B2 (en) 2000-06-16 2008-06-17 Entriq Inc. Method and system to dynamically present a payment gateway for content distributed via a network
US20020042849A1 (en) * 2000-08-08 2002-04-11 International Business Machines Corporation CICS BMS (Basic Message Service) meta model
US20080250434A1 (en) * 2000-08-08 2008-10-09 International Business Machines Corporation Cics bms (basic message service) metamodel
US8201193B2 (en) 2000-08-08 2012-06-12 International Business Machines Corporation CICS BMS (basic message service) metamodel
US7559066B2 (en) * 2000-08-08 2009-07-07 International Business Machines Corporation CICS BMS (basic message service) meta model
US20080243562A1 (en) * 2000-08-18 2008-10-02 The Crawford Group, Inc. Web Enabled Business to Business Computer System for Rental Car Services Having a Bidirectional Communication Link with a Repair Facility - 3
US7275038B1 (en) 2000-08-18 2007-09-25 The Crawford Group, Inc. Web enabled business to business operating system for rental car services
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US8401881B2 (en) 2000-08-18 2013-03-19 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US20110153375A1 (en) * 2000-08-18 2011-06-23 The Crawford Group, Inc. Method and System for Managing Rental Vehicle Reservations with User Authorization Limits
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US20080243563A1 (en) * 2000-08-18 2008-10-02 The Crawford Group, Inc. Web Enabled Business to Business Computer System for Rental Car Services Including Data Display Functionality - 4
US8340989B2 (en) 2000-08-18 2012-12-25 The Crawford Group, Inc. Method and system for managing rental vehicle reservations with user authorization limits
US10929920B2 (en) 2000-08-18 2021-02-23 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7243120B2 (en) 2000-08-25 2007-07-10 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (EAI) and development system
US20070244971A1 (en) * 2000-08-25 2007-10-18 Massey Stuart E Transaction-based enterprise application integration (EAI) and development system
WO2002019127A1 (en) * 2000-08-25 2002-03-07 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (eai) and development system
US7233920B1 (en) 2000-09-07 2007-06-19 Paymentech, L.P. System and apparatus for credit transaction data transmission
US20070299781A1 (en) * 2000-09-07 2007-12-27 Rodriguez Alan F Jr System and apparatus for credit data transmission
US20060123227A1 (en) * 2000-09-08 2006-06-08 Miller Lawrence R System and method for transparently providing certificate validation and other services within an electronic transaction
US20060179008A1 (en) * 2000-09-08 2006-08-10 Tallent Guy S Jr Provision of authorization and other services
US7734924B2 (en) 2000-09-08 2010-06-08 Identrust, Inc. System and method for transparently providing certificate validation and other services within an electronic transaction
US8892475B2 (en) 2000-09-08 2014-11-18 Identrust, Inc. Provision of authorization and other services
US8374894B2 (en) 2000-10-20 2013-02-12 The Crawford Group, Inc. Extended web enabled multi-featured business to business computer system for rental vehicle services
US7111077B1 (en) * 2000-12-22 2006-09-19 Unisys Corporation Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems
US6823361B2 (en) * 2001-01-08 2004-11-23 International Business Machines Corporation Computationally efficient, platform-independent data transfer protocol
US20020129091A1 (en) * 2001-01-08 2002-09-12 International Business Machines Corporation Computationally efficient, platform-independent data transfer protocol
US7831719B2 (en) 2001-02-09 2010-11-09 Comlet Technology LLC Enhanced data exchange and presentation/communication system
US7797431B2 (en) 2001-02-09 2010-09-14 Willard Case Enhanced data exchange and functionality control system and method
US20080022010A1 (en) * 2001-02-09 2008-01-24 Franklin Richard L Enhanced data exchange and presentation/communication system
US20080155006A1 (en) * 2001-02-09 2008-06-26 Comlet Technologies Headquarters Enhanced data exchange and functionality control system and method
US20090083370A1 (en) * 2001-02-09 2009-03-26 Comlet Technologies Headquarters Enhanced data exchange and presentation/communication system
US7814213B2 (en) 2001-02-09 2010-10-12 Comlet Technologies Headquarters Enhanced data exchange and presentation/communication system
US20020133585A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Computer program for recording and selective playback of a communication involving the hypertext transfer protocol
US20020133450A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Hypertext transfer protocol application programming interface between client-side trading systems and server-side stock trading systems
US20050044274A1 (en) * 2001-03-13 2005-02-24 Deming Douglas R. Methods of handling automated trading
US20050262011A1 (en) * 2001-03-13 2005-11-24 Deming Douglas R Hypertext transfer protocol application programming interface between cleint-side trading systems and server-side stock trading systems
US20020133414A1 (en) * 2001-03-14 2002-09-19 Pradhan Salil Vjaykumar Mediated shopping method and system
US20020176670A1 (en) * 2001-05-10 2002-11-28 Masao Shinoda Connector ferrule for connecting optical fibers
US20030074401A1 (en) * 2001-05-23 2003-04-17 Brian Connell Method and system for communication between computer systems
US8019807B2 (en) 2001-05-23 2011-09-13 Wireless Enterprise Solutions Technology Limited Method and system for communication between computer systems
US7197557B1 (en) 2001-05-29 2007-03-27 Keynote Systems, Inc. Method and system for evaluating quality of service for streaming audio and video
US7392321B1 (en) 2001-05-30 2008-06-24 Keynote Systems, Inc. Method and system for evaluating quality of service for transactions over a network
US20020194244A1 (en) * 2001-06-01 2002-12-19 Joan Raventos System and method for enabling transaction-based service utilizing non-transactional resources
US20030229590A1 (en) * 2001-12-12 2003-12-11 Byrne Shannon Lee Global integrated payment system
US20030125992A1 (en) * 2001-12-26 2003-07-03 The Crawford Group, Inc. Web browser based computer network for processing vehicle rental transactions on a large scale
US7275109B1 (en) * 2002-04-02 2007-09-25 Nortel Networks Limited Network communication authentication
US7111038B2 (en) 2002-04-03 2006-09-19 International Business Machines Corporation Enhancing application server performance by relocating performance-degrading processing
US20030220962A1 (en) * 2002-04-03 2003-11-27 International Business Machines Corporation Enhancing application server performance by relocating performance-degrading processing
US7778717B2 (en) 2002-04-15 2010-08-17 Invensys Systems, Inc. Component object model communication method for a control system
US20040039612A1 (en) * 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US8706534B2 (en) 2002-06-14 2014-04-22 The Crawford Group, Inc. Method and apparatus for customer direct on-line reservation of rental vehicles including deep-linking
US8234134B2 (en) 2002-06-14 2012-07-31 The Crawford Group, Inc. Method and apparatus for customer direct on-line reservation of rental vehicles including deep-linking
US8396728B2 (en) 2002-06-14 2013-03-12 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US20040001008A1 (en) * 2002-06-27 2004-01-01 Shuey Kenneth C. Dynamic self-configuring metering network
US20080271049A1 (en) * 2002-09-16 2008-10-30 International Business Machines Corporation Method for facilitating transactions between thin-clients and message format service (mfs)-based information management system (ims) applications
US8640144B2 (en) * 2002-09-16 2014-01-28 International Business Machines Corporation Method for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications
US20080109362A1 (en) * 2002-12-16 2008-05-08 Entriq Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US7706540B2 (en) 2002-12-16 2010-04-27 Entriq, Inc. Content distribution using set of session keys
US20060193474A1 (en) * 2002-12-16 2006-08-31 Entriq Inc. Content distribution using set of session keys
US7991697B2 (en) 2002-12-16 2011-08-02 Irdeto Usa, Inc. Method and system to digitally sign and deliver content in a geographically controlled manner via a network
US20130174019A1 (en) * 2003-04-04 2013-07-04 NetSuite Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US8949705B2 (en) * 2003-04-04 2015-02-03 NetSuite Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
WO2005001641A2 (en) * 2003-06-23 2005-01-06 July Systems, Inc. Policy service system and methodology
US20040259534A1 (en) * 2003-06-23 2004-12-23 July Systems Inc. Policy service system and methodology
WO2005001641A3 (en) * 2003-06-23 2005-09-09 July Systems Inc Policy service system and methodology
US7103351B2 (en) * 2003-06-23 2006-09-05 July Systems Inc. Policy service system and methodology
US20080215677A1 (en) * 2003-06-26 2008-09-04 Osias Michael J Method, system and program product for providing a status of a transaction with an application on a server
US7398291B2 (en) 2003-06-26 2008-07-08 International Business Machines Corporation Method, system and program product for providing a status of a transaction with an application on a server
US20040267878A1 (en) * 2003-06-26 2004-12-30 Osias Michael J Method, system and program product for providing a status of a transaction with an application on a server
US9152962B2 (en) 2003-06-26 2015-10-06 International Business Machines Corporation Providing a status of a transaction with an application on a server
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US20080012550A1 (en) * 2004-03-18 2008-01-17 Elster Electricity, Llc Reducing power consumption of electrical meters
US20050206365A1 (en) * 2004-03-18 2005-09-22 Shuey Kenneth C Reducing power consumption of electrical meters
US20050206366A1 (en) * 2004-03-18 2005-09-22 Shuey Kenneth C Bias technique for electric utility meter
US20050262097A1 (en) * 2004-05-07 2005-11-24 Sim-Tang Siew Y System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US8108429B2 (en) 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US8060889B2 (en) 2004-05-10 2011-11-15 Quest Software, Inc. Method and system for real-time event journaling to provide enterprise data services
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US20100198788A1 (en) * 2004-06-08 2010-08-05 Siew Yong Sim-Tang Method and system for no downtime resynchronization for real-time, continuous data protection
US8650167B2 (en) 2004-09-17 2014-02-11 Dell Software Inc. Method and system for data reduction
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US8195628B2 (en) 2004-09-17 2012-06-05 Quest Software, Inc. Method and system for data reduction
US7702594B2 (en) 2004-09-24 2010-04-20 Elster Electricity, Llc System and method for automated configuration of meters
US7742430B2 (en) 2004-09-24 2010-06-22 Elster Electricity, Llc System for automated management of spontaneous node migration in a distributed fixed wireless network
US9063953B2 (en) 2004-10-01 2015-06-23 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US20060085501A1 (en) * 2004-10-20 2006-04-20 Alcatel Mediation system for browsing Internet applications and non-Internet applications
US7904913B2 (en) 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US20060101384A1 (en) * 2004-11-02 2006-05-11 Sim-Tang Siew Y Management interface for a system that provides automated, real-time, continuous data protection
US8544023B2 (en) 2004-11-02 2013-09-24 Dell Software Inc. Management interface for a system that provides automated, real-time, continuous data protection
US8151140B2 (en) 2005-07-20 2012-04-03 Quest Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US8375248B2 (en) 2005-07-20 2013-02-12 Quest Software, Inc. Method and system for virtual on-demand recovery
US8365017B2 (en) 2005-07-20 2013-01-29 Quest Software, Inc. Method and system for virtual on-demand recovery
US8429198B1 (en) 2005-07-20 2013-04-23 Quest Software, Inc. Method of creating hierarchical indices for a distributed object system
US7979441B2 (en) 2005-07-20 2011-07-12 Quest Software, Inc. Method of creating hierarchical indices for a distributed object system
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US20100146004A1 (en) * 2005-07-20 2010-06-10 Siew Yong Sim-Tang Method Of Creating Hierarchical Indices For A Distributed Object System
US8200706B1 (en) 2005-07-20 2012-06-12 Quest Software, Inc. Method of creating hierarchical indices for a distributed object system
US8639974B1 (en) 2005-07-20 2014-01-28 Dell Software Inc. Method and system for virtual on-demand recovery
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US8838591B2 (en) 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US20070047002A1 (en) * 2005-08-23 2007-03-01 Hull Jonathan J Embedding Hot Spots in Electronic Documents
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US9357098B2 (en) 2005-08-23 2016-05-31 Ricoh Co., Ltd. System and methods for use of voice mail and email in a mixed media environment
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US9087104B2 (en) 2006-01-06 2015-07-21 Ricoh Company, Ltd. Dynamic presentation of targeted information in a mixed media reality recognition system
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US8862488B2 (en) 2006-03-16 2014-10-14 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US8862487B2 (en) 2006-03-16 2014-10-14 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8700647B2 (en) * 2006-06-14 2014-04-15 Siemens Aktiengesellschaft Communication system for processing data
US20070294261A1 (en) * 2006-06-14 2007-12-20 Siemens Aktiengesellschaft Communication system for processing data
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US8825682B2 (en) * 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US8965145B2 (en) 2006-07-31 2015-02-24 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US9870388B2 (en) 2006-07-31 2018-01-16 Ricoh, Co., Ltd. Analyzing usage of visual content to determine relationships indicating unsuccessful attempts to retrieve the visual content
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US9311336B2 (en) 2006-07-31 2016-04-12 Ricoh Co., Ltd. Generating and storing a printed representation of a document on a local computer upon printing
US20090070415A1 (en) * 2006-07-31 2009-03-12 Hidenobu Kishi Architecture for mixed media reality retrieval of locations and registration of images
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US8073384B2 (en) 2006-12-14 2011-12-06 Elster Electricity, Llc Optimization of redundancy and throughput in an automated meter data collection system using a wireless network
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8352523B1 (en) 2007-03-30 2013-01-08 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8972347B1 (en) 2007-03-30 2015-03-03 Dell Software Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US8712970B1 (en) 2007-04-09 2014-04-29 Dell Software Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US8320302B2 (en) 2007-04-20 2012-11-27 Elster Electricity, Llc Over the air microcontroller flash memory updates
US8989431B1 (en) 2007-07-11 2015-03-24 Ricoh Co., Ltd. Ad hoc paper-based networking with mixed media reality
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US10192279B1 (en) 2007-07-11 2019-01-29 Ricoh Co., Ltd. Indexed document modification sharing with mixed media reality
US9092423B2 (en) 2007-07-12 2015-07-28 Ricoh Co., Ltd. Retrieving electronic documents by converting them to synthetic text
US9612132B2 (en) 2007-12-26 2017-04-04 Elster Solutions, Llc Optimized data collection in a wireless fixed network metering system
US20090210703A1 (en) * 2008-01-18 2009-08-20 Epstein William C Binding a digital certificate to multiple trust domains
US8793487B2 (en) 2008-01-18 2014-07-29 Identrust, Inc. Binding a digital certificate to multiple trust domains
US8525692B2 (en) 2008-06-13 2013-09-03 Elster Solutions, Llc Techniques for limiting demand from an electricity meter with an installed relay
US8594814B2 (en) 2008-06-20 2013-11-26 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8203463B2 (en) 2009-02-13 2012-06-19 Elster Electricity Llc Wakeup and interrogation of meter-reading devices using licensed narrowband and unlicensed wideband radio communication
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US20110231774A1 (en) * 2010-03-18 2011-09-22 Konica Minolta Business Technologies, Inc. Image processing apparatus, data processing method therefor, and recording medium
US8984410B2 (en) * 2010-03-18 2015-03-17 Konica Minolta Business Technologies, Inc. Image processing apparatus, data processing method therefor, and recording medium
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US8892595B2 (en) 2011-07-27 2014-11-18 Ricoh Co., Ltd. Generating a discussion group in a social network based on similar source materials
US9026553B2 (en) * 2012-11-29 2015-05-05 Unisys Corporation Data expanse viewer for database systems
CN103077037A (en) * 2013-01-31 2013-05-01 五八同城信息技术有限公司 High-concurrency expandable operation system
US10466872B1 (en) * 2013-12-20 2019-11-05 Open Text Corporation Composable events for dynamic user interface composition
US10540150B2 (en) 2013-12-20 2020-01-21 Open Text Corporation Composable context menus
US10659567B2 (en) 2013-12-20 2020-05-19 Open Text Corporation Dynamic discovery and management of page fragments
US10942715B2 (en) 2013-12-20 2021-03-09 Open Text Corporation Composable context menus
US11126332B2 (en) 2013-12-20 2021-09-21 Open Text Corporation Composable events for dynamic user interface composition
US9681016B2 (en) 2014-02-26 2017-06-13 Xerox Corporation Methods and systems for capturing, sharing, and printing annotations
US9934212B2 (en) 2014-02-26 2018-04-03 Xerox Corporation Methods and systems for capturing, sharing, and printing annotations

Similar Documents

Publication Publication Date Title
US5754772A (en) Transaction service independent HTTP server-to-transaction gateway
US6397253B1 (en) Method and system for providing high performance Web browser and server communications
US6718390B1 (en) Selectively forced redirection of network traffic
JP5030354B2 (en) Method and system for distributing objects over a network
US6701352B1 (en) Method and apparatus for importing information from a network resource
JP3290377B2 (en) Method and apparatus for saving state in stateless network protocols
US7269664B2 (en) Network portal system and methods
US6604135B1 (en) WWW client server dynamic interactive system method
US5745754A (en) Sub-agent for fulfilling requests of a web browser using an intelligent agent and providing a report
US5752246A (en) Service agent for fulfilling requests of a web browser
US6463440B1 (en) Retrieval of style sheets from directories based upon partial characteristic matching
US5793964A (en) Web browser system
US5793966A (en) Computer system and computer-implemented process for creation and maintenance of online services
US5761663A (en) Method for distributed task fulfillment of web browser requests
US7103627B2 (en) Web-based system and method
US7653750B2 (en) Using a directory service for a user registry
EP1379947B1 (en) An improved system, method and apparatus to allow communication between cics and non-cics software applications
US5940075A (en) Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6715129B1 (en) Achieving application-specific document content by transcoding using Java Server Pages
KR100403265B1 (en) System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US7134076B2 (en) Method and apparatus for portable universal resource locator and coding across runtime environments
US20070083524A1 (en) Apparatus, system, and method for implementing an IMS SOAP gateway to enable an IMS application to operate as a web service client
US20040054969A1 (en) System and method for generating web services definitions for MFS-based IMS applications
US20140365619A1 (en) Method and system for seamlessly accessing remotely stored files
US20020147745A1 (en) Method and apparatus for document markup language driven server

Legal Events

Date Code Title Description
AS Assignment

Owner name: UNISYS CORPORATION, MINNESOTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEAF, SHAWN T.;REEL/FRAME:007935/0925

Effective date: 19960326

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: UNISYS CORPORATION, PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044

Effective date: 20090601

Owner name: UNISYS HOLDING CORPORATION, DELAWARE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044

Effective date: 20090601

Owner name: UNISYS CORPORATION,PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044

Effective date: 20090601

Owner name: UNISYS HOLDING CORPORATION,DELAWARE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044

Effective date: 20090601

AS Assignment

Owner name: UNISYS CORPORATION, PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631

Effective date: 20090601

Owner name: UNISYS HOLDING CORPORATION, DELAWARE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631

Effective date: 20090601

Owner name: UNISYS CORPORATION,PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631

Effective date: 20090601

Owner name: UNISYS HOLDING CORPORATION,DELAWARE

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631

Effective date: 20090601

AS Assignment

Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERA

Free format text: PATENT SECURITY AGREEMENT (PRIORITY LIEN);ASSIGNOR:UNISYS CORPORATION;REEL/FRAME:023355/0001

Effective date: 20090731

AS Assignment

Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERA

Free format text: PATENT SECURITY AGREEMENT (JUNIOR LIEN);ASSIGNOR:UNISYS CORPORATION;REEL/FRAME:023364/0098

Effective date: 20090731

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT, IL

Free format text: SECURITY AGREEMENT;ASSIGNOR:UNISYS CORPORATION;REEL/FRAME:026509/0001

Effective date: 20110623

AS Assignment

Owner name: UNISYS CORPORATION, PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY;REEL/FRAME:030004/0619

Effective date: 20121127

AS Assignment

Owner name: UNISYS CORPORATION, PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE;REEL/FRAME:030082/0545

Effective date: 20121127

AS Assignment

Owner name: UNISYS CORPORATION, PENNSYLVANIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION);REEL/FRAME:044416/0358

Effective date: 20171005