Abstract:
A fuel dispenser includes data type aware SGML processing capabilities allowing it to efficiently process received data having a variety of data types. Such received data typically includes fuel dispenser configuration information. Further benefits related to data type aware SGML processing within the fuel dispenser include the ability to transfer information in a data type aware SGML format from the fuel dispenser, such as diagnostics data, to a remote system. Data type aware SGML data definitions facilitate conversion of the data type aware SGML-formatted diagnostics data into a machine format usable by the remote system. Preferably, the fuel dispenser includes an HTTP server for communicating with remote client&#39;s systems that employ data type aware SGML-capable, web browsers. Data type aware SGML-based style sheets may be transferred from the fuel dispenser to the remote system for assisting with the visual display of received fuel dispenser data in HTML format. Optionally, the fuel dispenser may include a Java applet designed to impart data type aware SGML-based transfer and processing capabilities to remote client web browsers lacking native data type aware SGML support. As an alternative, the fuel dispenser may itself apply resident data type aware style sheet information to stored fuel dispenser data after converting it to data type aware SGML format to produce formatted HTML-based web pages, and then transfer the web pages to the remote system for display.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to providing remote monitoring and configuration capabilities in an electronics system and, in particular, relates to providing enhanced remote configuration and diagnostics in a fuel dispenser.  
         BACKGROUND OF THE INVENTION  
         [0002]    Electronic or computer-based systems commonly include remote monitoring and configuration capabilities, thereby allowing personnel, especially off-site personnel, to interact with the local system. Such interaction may relate to obtaining current operating conditions for the local system, or to obtaining stored data associated with local system operation, or may relate to providing one or more sets of operating parameters for the local system. Regardless of the specific use or requirement for remote interaction, remote access features and techniques available in various electronic systems evolve as the supporting communication technologies themselves evolve.  
           [0003]    Today, there are many classes of electronic devices, ranging from standard desktop computing devices to those categorized as having “embedded” computers for automated control, that leverage standard, ubiquitous Internet technology to allow remote access. It is a straightforward and increasingly common practice to embed Transmission Control Protocol/Internet Protocol (TCP/IP) networking and a service, such as a Hyper-Text Transfer Protocol (HTTP), in a device to allow it to be managed via any Hyper-Text Mark-Up Language (HTML) compliant Web browser. This is advantageous for several reasons. First, such devices can be managed locally and directly by many Web browser applications using direct connection interfaces, including but not limited to the Point-to-Point Protocol (PPP), which allows TCP/IP communication over standard RS-232-compliant serial interfaces commonly found on portable computing devices. Second, remote management of such devices is achievable over any network—including the Internet—as long as it provides the TCP/IP interface.  
           [0004]    For example, pending application Ser. No. 08/896/988, commonly assigned with the present invention, relates, in part, to an interactive fuel dispensing system in which one or more fuel dispensers interact with a server. Each fuel dispenser provides customers with a browser-based interface for conducting fueling transactions and, potentially, accessing information from outside networks, such as the World Wide Web. Fuel dispensers support such interaction through implementing standard HTTP/HTML data transfers.  
           [0005]    However, remote access capabilities based on the use of HTML-formatted data transmitted over an HTTP protocol interface have increasingly significant drawbacks. First, HTML is designed primarily for visual representation of data. HTML formatting combines information, possibly comprised of disparate data items, into one or more strings of text having associated formatting “tags.” These tags define how the corresponding data should be formatted for visual display but provide no meaning regarding the underlying data types represented by the strings of text. Remedying this first limitation of HTML is complicated by its second limitation. HTML is, to some considerable advantage, a “standards-based” Standardized General Markup Language (SGML) maintained by the World-Wide Web Consortium (W3C). Because of HTML standards, HTML-compliant Web browsers may reliably implement common features and services. However, this standardization discourages any one group or industry from adapting HTML to its particular needs by including custom-defined tags that, for example, impart specialized data type meaning to HTML text strings.  
           [0006]    U.S. Pat. No. 5,980,090 issued to Royal, Jr., et al., and commonly assigned with the present invention, relates to providing communication servers associated with the fuel dispensers in a fueling environment, and connecting the communication servers to a common network. This network may be a remote network, such as the Internet. The &#39;090 patent, and its associated pending divisional application Ser. No. 09/334,550, overcome limitations associated with HTML-based remote access and data transfer by including an embedded function in the servers associated with the fuel dispensers. This embedded function executes in response to a remote system accessing one or more specific HTML pages stored on the servers(s). Through its execution, the embedded function can provide, among other things, continuously updated parameter transfers, or remote configuration access.  
           [0007]    Newer generation SGMLs are designed with data-type aware information transfer in mind. Data-type aware SGML tags define associated data and may be extended to define complex data structures. Thus, a device receiving data type aware SGML formatted data can easily delineate one data item from the next, and easily determine data types, based on processing the associated data type aware SGML tags. Moreover, data type aware SGML-formatted data may be conveniently formatted for visual display using a data type aware style-sheet language (hereinafter referred to as “SSL”). Due to the number of existing browsers using non-data type SGMLs, it may be necessary to convert a data type aware SGML to a non-data type aware SGML using a SSL. With a data type aware SSL, data type aware SGML-based data may be translated into non-data type aware SGMLs such as HTML-based information for formatted visual display.  
           [0008]    Thus, data type aware SGML—data transfer between a device and a remote system simplifies the processing associated with converting received data into a format usable by either the local device or the remote system. In combination with a data type aware SSL sheet, data received from the device may still be conveniently converted into non-data type aware SGMLs for visual display. These capabilities impart advantages to devices that include both non-interactive (system-to-system) remote interfacing as well as interactive (operator-based) remote interfacing.  
           [0009]    Accordingly, the present invention includes a fuel dispenser with enhanced remote access and data transfer capabilities. The ability of the fuel dispenser to send and receive data type aware SGML-formatted data permits a remote system to efficiently transfer configuration or operating data to the device on a non-interactive basis, as well as to receive diagnostic or monitoring information. When interactive interfacing is desired, the data type aware SGML-formatted data received at the remote system may be formatted for display to an operator using data type aware SSL information received from the fuel dispenser.  
         SUMMARY OF THE INVENTION  
         [0010]    The present invention provides methods and apparatus allowing a fuel dispenser to send and receive data formatted using a data type aware SGML. In an exemplary embodiment, the fuel dispenser includes a communications interface implementing an HTTP service for file transfer operations, including the transfer of data type aware SGML-based data between the fuel dispenser and a remote system. In other exemplary embodiments, the fuel dispenser may support other protocols that supplement or replace the HTTP service, including File Transfer Protocol or proprietary protocols. Data type aware SGMLs may include document definition types that permit data items to be validated against predefined definitions. Thus, data type aware SGML-based data transfers between the fuel dispenser and the remote system include the data types and relationships associated with the underlying data. In this manner, the fuel dispenser and remote system may efficiently process received information based on parsing and interpreting the data type aware SGML-based data definition tags.  
           [0011]    Data type aware SGML-based data transfers to and from the fuel dispenser particularly benefit automated remote interaction. The fuel dispenser may implement one or more data type aware SGML-based grammars that define sets of data definitions. This allows a remote system to conveniently retrieve, monitor, or update fuel dispenser parameters using data items tagged in accordance with the defined grammar. This capability facilitates non-human data transfer and diagnostic operations conducted between the fuel dispenser and the remote system, as well as providing a convenient data format for translation into viewable information when human operator interaction is required.  
           [0012]    A remote operator may monitor and configure the fuel dispenser using an HTML-compliant Web browser executing on the remote system. Preferably, the data type aware SGML is XML and this remote system Web browser is XML-compliant such that it formats the XML data received from the fuel dispenser for display in HTML format. Preferably, the data type aware SSL is the extensible style sheet language, and an XSL style sheet is transferred from the fuel dispenser to the XML/XSL-compliant Web browser to correctly format XML data in an HTML page. Alternatively, if the remote system does not have an XML-compliant Web browser, the fuel dispenser may include a Java applet providing XML processing capability for transfer to the remote system. In still other variations, the fuel dispenser may provide HTML-based information to the remote system, based on pre-processing its stored XML-formatted data. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a simplified block diagram of a prior-art system illustrating HTML-based data transfer between a local device and a remote system.  
         [0014]    [0014]FIG. 2A is a simplified block diagram of a fuel dispensing system incorporating a fuel dispenser in accordance with an exemplary embodiment of the present invention.  
         [0015]    [0015]FIG. 2B is a functional diagram illustrating data-aware SGML data transfer between a fuel dispenser and a remote system in accordance with an exemplary embodiment of the present invention.  
         [0016]    [0016]FIG. 3 is functional diagram illustrating HTML data transfer between a fuel dispenser and a remote system in accordance with an exemplary embodiment of the present invention.  
         [0017]    [0017]FIG. 4 is a functional diagram illustrating data-aware SGML transfer between a fuel dispenser and a remote system in accordance with an alternative exemplary embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0018]    [0018]FIG. 1 illustrates a prior art Internet-based remote access and monitoring system, generally indicated by the numeral  10 . A local electronics device  12  includes communication and control processing capabilities for carrying out its intended functions and for communicating with other systems, including a remote system  16 . Data associated with the operation and configuration of the device  12  is held in an associated memory  14 . The device  12  communicates with the remote system  16  using TCP/IP-based transfers managed by an included HTTP server. Thus, the remote system  16  receives information from the device  12  based on submitting HTML page requests to the local device  12 . The requested data items are recovered from internal memory (not shown) associated with the control processing portion of device  12 , or are retrieved from its associated memory  14 . Device  12  then converts this information into HTML format for transfer to the remote system  16 . As earlier noted, HTML formatting of the requested data requires reformatting the data into text strings and associated HTML markup (formatting) “tags”.  
         [0019]    Although suitable for their task, the markup tags in HTML—labels that provide cues to web browsing applications—do not define what the data means, but rather only how it should be visually represented. Automated, non-human interaction with the local device  12 , as by an automated control or data acquisition system, is complicated by having only HTML-formatted data transferred from the local device  12 . HTML data transfers do not include data markers or data definition tags; rather they contain textual data interspersed with visual formatting tags. As such, data parsing is generally based on predefined rules regarding the transferred data that rely on a prior knowledge regarding the structure, length, and order of the information requested. As such, HTML-based data transfers can be relatively unaccommodating with regard to updating or changing the type and order of data transferred. Further, complications arise from the overhead associated with parsing the HTML strings to identify the individual data items and convert them to a machine-usable format.  
         [0020]    Simply, HTML-based data transfers are not well suited to systems that must process or otherwise act upon all or part of the transferred information. Thus, in this scenario, the information received by the remote system  16  is convenient with regard to displaying it in a Web browser window, but is relatively inconvenient with regard to processing or using the received data in any matter dependent upon the actual data types represented by the HTML-formatted information.  
         [0021]    In contrast to the visual-formatting focus of HTML, XML, a preferred type of data type aware SGML, is a meta-markup language providing a set of rules for describing data. For example, XML-formatted data comprises one or more “elements” delimited by a start tag, an end tag, and intervening data. Start and end tags describe the data between them, while the data itself defines the value of the element. Thus, an XML element relating to a city within an address database might appear as “&lt;city&gt;Raleigh&lt;/city&gt;.” Here, the “&lt;city&gt;” represents the start tag, “&lt;/city&gt;” represents the end tag, and the element “city” has the value “Raleigh.” Further, elements can contain one or more attributes. Thus, &lt;city ZIP=“27606”&gt;Raleigh&lt;/city&gt; defines a zip code attribute for the element value Raleigh. Elements may be nested to form more complex data structures.  
         [0022]    As an example,  
                                                                                           &lt;addresses&gt;                &lt;address&gt;                &lt;name&gt;John Smith&lt;/person&gt;           &lt;street&gt;Main&lt;/street&gt;           &lt;city&gt;Raleigh&lt;/city&gt;           &lt;state&gt;NC&lt;/state&gt;           &lt;zip&gt;27606&lt;/zip&gt;                &lt;/address&gt;                &lt;/addresses&gt;                      
 
         [0023]    illustrates one “address” element in a larger “addresses” element. The element “addresses” may include any number of individual address entries. Parsing the “addresses” structure to extract individual “address” entries simply entails parsing the overall data set based on the start and end tags. From this simplistic example, one skilled in the art will readily appreciate the utility of XML as applied to data transfers between computer systems when that data must be translated into machine or binary format for subsequent processing by one or both such computer systems. It is also noted that while an exemplary embodiment of the present invention uses XML as its data type aware SGML and XSL as its data type aware SSL, the present invention may be accomplished using data type aware SGMLs and SSL&#39;s other than XML and XSL, respectively. Therefore, the present invention is not limited to XML or XSL hereto.  
         [0024]    [0024]FIG. 2A illustrates a fuel dispensing system  100  in accordance with an exemplary embodiment of the present invention. A site controller (or point-of-sale terminal)  120  provides control signals to one or more fuel dispensers  110 . In operation, customers interact with the fuel dispensers  110  using a customer interface  112  that normally includes status and information displays, and fuel grade selection inputs. A payment and authorization interface  114  permits customers to effect payment for individual fueling transactions using a number of payment methods, including but not limited to credit/debit cards and wireless payment transponders. A communications interface  118  provides an interface between the site controller  120  and the fuel dispenser  110  for the transfer of payment and authorization information and dispenser control signals. A fuel dispenser controller  116  (including associated dispensing hardware and electronics) is responsible for actually dispensing fuel to a customer based on these dispenser control signals.  
         [0025]    In this exemplary embodiment for the fuel dispenser  110  of the present invention, the communications interface implements an HTTP server and XML processor to support XML-based data exchanges with the remote system  130  and site controller  120 . Such data transfers may be involved in a variety of fuel dispenser remote access activities. Such access includes, but is not limited to the following activities: a) normal setup and programming; b) calibration; c) specific device setup or site configuration; and d) remote viewing of fuel dispenser operating or configuration parameters.  
         [0026]    While the particular implementation of communications interface  118  varies based on the design needs of specific fuel dispensing systems, the communications interface  118  should support the software functionality necessary to implement the required HTTP (or other protocol) and XML services. Further, communications interface  118  should have the supporting hardware necessary to support a communications connection with site controller  120  and/or remote system  130 . Preferably, the communications interface  118  will support multiple communications interfaces to enhance flexibility regarding its interconnection. Such interfaces are well understood in the art with regard to design and implementation and include Ethernet or other LAN-type interfaces, EIA-232, Universal Serial Bus (USB), RS-485, and others.  
         [0027]    When referring to “remote access” operations herein, the term should be understood as including access by both physically remote, as well as local systems. Indeed, remote system  130  may be far removed from fuel dispenser  110  and communications between the two systems may be based on direct or indirect network connection—such as LAN/WAN interconnection. Conversely, remote system  130  may be physically proximate to fuel dispenser  110 , such a laptop computer in direct cable connection to fuel dispenser  110 . Further, discussion herein regarding remote access should be understood to possibly include operations between the fuel dispenser  110  and site controller  120 . Indeed, site controller  120  may advantageously use capabilities in the fuel dispenser  110  of the present invention for monitoring and control.  
         [0028]    [0028]FIG. 2B provides more detail for the fuel dispenser  110  illustrated in FIG. 2A. An HTTP server  202  transfers information to the remote system  130  in XML format, based on the remote system  130  making an XML data request. An XML processor  206  functionally included within the fuel dispenser  110  processes fuel dispenser operating or historical data for conversion to XML format. Note this data may be retrieved from a data store  208  or from fuel dispenser operating memory (not shown). In an exemplary embodiment, the data store  208  includes non-volatile memory for persistent storage of critical operating parameters used to tailor operation of the fuel dispenser  110  to the operating requirements of a particular installation.  
         [0029]    If the remote system requires the data for subsequent processing, the XML data definition tags included in the transferred data allow the remote system  130  to easily parse the received data using an HTML/XML-compliant web browser and convert the included individual data items into corresponding binary (machine-format) values. Such data may be used directly by the remote system  130  or held in a data store  208  for later use or review.  
         [0030]    If, however, the transferred data must be displayed to an operator using the remote system  130  to interactively access/view data contained in the fuel dispenser  110 , the remote system  130  may additionally receive XSL-based style sheet information from the fuel dispenser  110 . XSL files associated with the XML data transferred from the fuel dispenser  110  to the remote system  130  are stored within the fuel dispenser. These XSL files contain sets of rules designed for the particular XML grammar (data definitions) implemented by the fuel dispenser  110  that describe how the XML data should be converted for display in a visual format. HTML represents an exemplary visual format to which the XML data may be converted using the XSL rules. Thus, in an exemplary embodiment, the remote system  130  receives XML-formatted data and, if visual formatting of the data is required for display to the operator, the remote system  130  receives XSL-based style sheet information from the fuel dispenser  110  that contains rules for how the XML data should be translated into HTML data. After translation to HTML, the data may be displayed to the operator using the remote system&#39;s  130  web browsing application.  
         [0031]    Thus, an exemplary embodiment of the present invention envisions standards-based XML/HTML compliant software executing on the remote system  130 . Data transferred between the fuel dispenser  110  and the remote system  130  includes XML-formatted data related to the operation or control of the fuel dispenser  110 . XML tags included within the transferred data allow either the fuel dispenser  110  or the remote system  130  to easily parse the received data for conversion into binary (machine-format) for subsequent processing or use. In non-interactive data transfers between the fuel dispenser  110  and the remote system  130 —again, this applies equally to site controller  120 —the use of XML supplants the need for defining message-level protocols for transferring data between a service tool (remote device  130 ) and the fuel dispenser  110 . For example, an XML grammar may be defined that allows general-purpose data to be defined by ID and type (e.g., fuel prices are fixed-point values—type—defined by fuel grade name and fueling position—ID).  
         [0032]    XML files may be transferred between the fuel dispenser  110  and remote system  130  using several known techniques. If the remote system  130  is HTTP-compatible, then it may use HTTP for Universal Resource Locator (URL) named request response file transfers. (URLs uniquely specify named resources on the Internet.) If the remote system  130  supports other traditional standards, such as File Transfer Protocol (FTP), then these standards may be used for exchanging information with the fuel dispenser  110 . Of course, proprietary transfer protocols unique to certain types of remote systems  130  may be utilized by providing the necessary software in the fuel dispenser  110 . Of these choices, HTTP-based file transfer represents a preferred method because it easily handles text file transfers in the upload (to the fuel dispenser  110 ) and download (from the fuel dispenser  110 ) directions. Further, an HTTP request from the remote system  130  may be used to trigger an internal action within the fuel dispenser  110 , as is well known in regard to Common Gateway Interface (CGI) scripting, and server-side applet execution.  
         [0033]    For supporting interactive, operator-based connections between the fuel dispenser  110  and the remote system  130 , the fuel dispenser  110  transfers XSL-based style sheet information that provides the remote system  130  with a set of rules for converting received XML data into operator-viewable HTML data.  
         [0034]    Of course, not every remote system  130  may be expected to have the full set of capabilities necessary for supporting operations as identified for this exemplary embodiment. Thus, the fuel dispenser  110  of the present invention includes numerous exemplary embodiments providing modified operation suitable for interacting with less-capable remote systems. FIG. 3 illustrates one such exemplary embodiment for the fuel dispenser  110  of the present invention.  
         [0035]    In FIG. 3, the fuel dispenser  110  interfaces with a remote system  130  that lacks native XML processing support. Further, due to platform limitations, the remote system  130  lacks the capability for local execution of an applet—a small, downloadable executable program—capable of providing XML support. Thus, data transfer between the fuel dispenser  110  and this more limited-functionality remote system  130  is based on HTML-formatted data. Of course, the fuel dispenser  110  in this alternate exemplary embodiment retains its ability for interfacing with more capable remote systems  130 , as described in the discussion accompanying FIGS. 2A and 2B.  
         [0036]    In the embodiment illustrated in FIG. 3, the fuel dispenser  110  includes supporting features allowing it to interact with a remote system  130  that lacks the ability to process XML data. As such, the fuel dispenser  110  applies internally stored XSL-based style sheet information to XML formatted data to produce an HTML page. This may be accomplished using conventional web application techniques such as those based on the CGI, with such techniques being well known in the art. The XSL-based style sheet preferably defines an HTML forms-based interface for transfer to the remote system  130  that allows an operator at the remote system  130  to edit current fuel dispenser parameter values. Once the operator completes the desired edits, changes to the form data are transferred back to fuel dispenser  110  using, for example, the HTTP “POST” operation. When the edited form data is received, the fuel dispenser  110  parses the HTML data to extract the updated parameters. While internal fuel dispenser data could be converted directly from binary to HTML formatting, basing processing/parsing operations on XML-formatted data permits this exemplary embodiment to maintain a data handling approach that is consistent with the embodiment discussed in the context of FIGS. 2A and 2B.  
         [0037]    In operation, the fuel dispenser  110  receives an HTML page request from a web browser  230  executing on the remote system  130 . An HTTP server  202  functionally included within the fuel dispenser  110  manages this page request and subsequent data transfer. Stored data retrieved from the data store  208  is converted into XML-formatted data using an XML processor  206 —data may also be retrieved from working memory (not shown) included within the fuel dispenser  110 . An XSL processor  204  retrieves XSL-based style sheet information from the data store  208  for processing the XML data produced by the XML processor  206 . The XSL processor  204  produces HTML-formatted data for transfer to the web browser  230  of the remote system  130  via the HTTP server  202 .  
         [0038]    If the remote system  130  lacks native XML support but provides platform resources adequate for executing Java applets  232 , the data store  208  included in the fuel dispenser  110  may, in another exemplary embodiment shown in FIG. 4, include a Java applet  232  designed to enable XML support. The fuel dispenser  110  transfers the Java applet  232  to the remote system  110  for execution by its web browser  230 . Once executing on the remote system  130 , the Java applet  232  provides the web browser  230  of remote system  130  with the ability to process XML data. Ideally, the Java applet  232  provides a service interface (not shown) on the remote system  130  such that an operator can interactively modify or edit select fuel dispenser operating parameters. Additionally, the Java applet  232  should provide the ability to transfer any such modified parameters back to the fuel dispenser  110  for subsequent use. These capabilities depend upon the Java applet  232  being able to directly parse the XML data received from the fuel dispenser  110  into compliant objects suitable for direct manipulation by the Java applet  232 . Parsing operations are based on known Document Type Definitions (DTDs). As noted, these DTDs define the particular lexical XML grammar implemented by the fuel dispenser  110 . Upon request, the Java applet  232  converts its compliant objects back into XML-formatted data for transfer back to the fuel dispenser  110 .  
         [0039]    This particular technique of applet-based processing has the additional advantage of not requiring the Java applet  232  to change when new fuel dispenser parameters are added or modified. This is because the Java applet  232  need only contain an XML processor capable of parsing the XML-defined parameters obtained from the fuel dispenser  110  such that they can be modified, verified, and returned to the fuel dispenser  110  in XML format, all without actually having to know what the specific parameters mean in the context of the fuel dispenser&#39;s  110  operation.  
         [0040]    In operation, the remote system  130  makes an HTML page request to the HTTP server  202  executing in the fuel dispenser  110 . In response, the fuel dispenser  110  returns an HTML page including the Java applet  232  obtained from the data store  208  to the remote system&#39;s web browser  230 . Upon its activation in the remote system  130 , the Java applet  232  makes an XML request for one or more data items (parameters) from the fuel dispenser  110 . The XML processor  206  responds by providing XML-formatted data, which may be based on machine-formatted data obtained from the data store  208  or from operating memory (not shown), to the HTTP server  202 . The HTTP server  202  transfers the XML data to the Java applet  232  in the remote system  130 , where it may be viewed, modified, stored, or otherwise processed. If parameters are edited in the remote system  130 , the Java applet  232  returns these updated parameters to the fuel dispenser  110  in XML format.  
         [0041]    The present invention may, of course, be carried out in other specific ways than those herein set forth without departing from the spirit and essential characteristics of the invention. As noted, the particular communications interface (LAN, WAN, dial-up, direct) between the fuel dispenser (the local system) and the remote system is not critical to practicing the present invention. Further, exemplary embodiments of the fuel dispenser in the present invention may be compatible with HTML/XML-compliant remote systems and with non-XML compliant remote systems. In the latter case, the fuel dispenser of the present invention may transfer a Java applet to the remote system, thereby imparting XML processing capability to the remote system, or may itself provide XML-to-HTML conversion based on internally stored XSL-based style sheets. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.