1. A method for dynamic network address identification and replacement for delivering a web page to a data processing device associated with a customer, for performing a marketing campaign on behalf of an advertiser over a data network, the method comprising:
receiving a browser request message over the data network from a browser program executing on the data processing device, the browser request message requesting an origin web page at an origin web site on the data network, the origin web site associated with the advertiser;
determining a network address of the origin web site on the data network;
retrieving, responsive to the browser request message, content of the origin web page from the origin web site at the determined network address;
locating a network address in the retrieved content of the origin web page;
replacing the located network address with a proxy network address to define a modified web page, the proxy network address referencing a proxy web site on the data network; and
providing the modified web page to the data processing device over the data network.
2. The method of claim 1, wherein the network addresses are Uniform Resource Locators (URLs).
3. The method of claim 1, wherein the browser request message is generated responsive to customer selection of a link on a web page provided by an electronic publisher on the data network, the link associated with the advertiser.
4. The method of claim 1, the browser request message including an encoded network address, wherein determining the network address of the origin web site on the data network includes:
decoding the encoded network address to determine the network address of the origin web site.
5. A method for dynamic network address identification and replacement for delivering a web page to a data processing device associated with a customer, for performing a marketing campaign on behalf of an advertiser over a data network, the method comprising:
receiving a browser request message over the data network from a browser program executing on the data processing device, the browser request message requesting an origin web page at an origin web site on the data network, the origin web site associated with the advertiser;
determining a network address of the origin web site on the data network;
retrieving, responsive to the browser request message, content of the origin web page from the origin web site at the determined network address;
determining whether one or more limiting criteria are exceeded;
when it is determined that the one or more limiting criteria are exceeded:
providing the origin web page to the data processing device over the data network;
when it is determined that the one or more limiting criteria are not exceeded:
locating a network address in the retrieved content of the origin web page;
replacing the located network address with a proxy network address to define a modified web page, the proxy network address referencing a proxy web site on the data network;
providing the modified web page to the data processing device over the data network.
6. The method of claim 5, wherein the one or more limiting criteria include a time limit for a session of the browser program.
7. The method of claim 6, further comprising:
retrieving a time stamp from the data processing device;
computing a session time for the browser program based on the retrieved time stamp; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the session time exceeds the time limit.
8. The method of claim 5, wherein the one or more limiting criteria include a proxy path limit for a session of the browser program.
9. The method of claim 8, further comprising:
retrieving a proxy path from the data processing device;
determining a number of domains for the session of the browser program from the retrieved proxy path; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the number of domains for the session exceeds the proxy path limit.
10. The method of claim 5, when it is determined that the one or more limiting criteria are not exceeded, after locating the network address in the retrieved content of the origin web page, the method further comprising:
determining that the located network address is not identified in an exception list.
11. The method of claim 5, wherein the located network address references one selected from the group consisting of a web page, html data, text data, script data, a data object, a graphical object, image data, video data, and animation data.
12. A data processing apparatus for performing dynamic network address identification and replacement for delivering a web page to a data processing device associated with a customer, for a marketing campaign on behalf of an advertiser over a data network, the data processing apparatus comprising:
an interface in communication with the data network, the interface capable of receiving a browser request message from a browser program executing on the data processing device, the browser request message requesting an origin web page at an origin web site on the data network, the origin web site associated with the advertiser;
a memory storing instructions; and
a processor in communication with the interface and the memory, the processor operable to receive the browser request message from the interface, load the instructions from the memory responsive to receiving the browser request message, and execute the instructions to:
determine a network address of the origin web site on the data network,
retrieve, responsive to the browser request message, content of the origin web page from the origin web site at the determined network address,
determine whether one or more limiting criteria are exceeded,
when it is determined that the one or more limiting criteria are exceeded:
provide the origin web page to the data processing device over the data network,
when it is determined that the one or more limiting criteria are not exceeded:
locate a network address in the retrieved content of the origin web page;
replace the located network address with a proxy network address to define a modified web page, the proxy network address referencing a proxy web site on the data network;
provide the modified web page to the data processing device over the data network.
13. The data processing apparatus of claim 12, wherein the one or more limiting criteria include a time limit for a session of the browser program.
14. The data processing apparatus of claim 13, wherein the processor is further configured to execute the instructions to:
retrieve a time stamp from the data processing device;
compute a session time for the browser program based on the retrieved time stamp; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the session time exceeds the time limit.
15. The data processing apparatus of claim 12, wherein the one or more limiting criteria include a proxy path limit for a session of the browser program.
16. The data processing apparatus of claim 15, wherein the processor is further configured to execute the instructions to:
retrieve a proxy path from the data processing device;
determine a number of domains for the session of the browser program from the retrieved proxy path; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the number of domains for the session exceeds the proxy path limit.
17. The data processing apparatus of claim 12, wherein when it is determined that the one or more limiting criteria are not exceeded, after locating the network address in the retrieved content of the origin web page, the processor is further configured to execute the instructions to:
determine that the located network address is not identified in an exception list.
18. The data processing apparatus of claim 12, wherein the located network address references one selected from the group consisting of a web page, html data, text data, script data, a data object, a graphical object, image data, video data, and animation data.
19. A computer program product, stored on a processor readable medium, comprising instructions operable to cause a data processing apparatus to perform a method for dynamic network address identification and replacement for delivering a web page to a data processing device associated with a customer, for performing a marketing campaign on behalf of an advertiser over a data network, the method comprising:
receiving a browser request message over the data network from a browser program executing on the data processing device, the browser request message requesting an origin web page at an origin web site on the data network, the origin web site associated with the advertiser;
determining a network address of the origin web site on the data network;
retrieving, responsive to the browser request message, content of the origin web page from the origin web site at the determined network address;
determining whether one or more limiting criteria are exceeded;
when it is determined that the one or more limiting criteria are exceeded:
providing the origin web page to the data processing device over the data network;
when it is determined that the one or more limiting criteria are not exceeded:
locating a network address in the retrieved content of the origin web page;
replacing the located network address with a proxy network address to define a modified web page, the proxy network address referencing a proxy web site on the data network;
providing the modified web page to the data processing device over the data network.
20. The computer program product of claim 19, wherein the one or more limiting criteria include a time limit for a session of the browser program.
21. The computer program product of claim 20, the method further comprising:
retrieving a time stamp from the data processing device;
computing a session time for the browser program based on the retrieved time stamp; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the session time exceeds the time limit.
22. The computer program product of claim 19, wherein the one or more limiting criteria include a proxy path limit for a session of the browser program.
23. The computer program product of claim 22, the method further comprising:
retrieving a proxy path from the data processing device;
determining a number of domains for the session of the browser program from the retrieved proxy path; and wherein:
determining whether the one or more limiting criteria are exceeded includes determining whether the number of domains for the session exceeds the proxy path limit.
24. The computer program product of claim 19, wherein when it is determined that the one or more limiting criteria are not exceeded, after locating the network address in the retrieved content of the origin web page, the method further comprising:
determining that the located network address is not identified in an exception list.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A process control system, comprising:
a. a plurality of field versatile control gateways (FVCGs) that interface with field devices, each of the plurality of FVCGs comprising a microprocessor, memory, routing database, routing module, protocol translator, wireless interface card and antenna,
wherein the FVCGs provide for control-in-the-field capabilities, and
wherein the FVCGs communicate with field devices using one or more protocols selected from the group 4-20 mA, Fieldbus Foundation H1, onoff interface, wireless, and serial, EI, and
wherein the FVCGs provide for multiplexed communication of data between the FVCGs and a central control location via one or more of a hardwired HSL protocol, a wireless connection, or a hardwired HSL protocol and wireless connection, and
wherein the routing database and routing module provide for routing of data between the field devices and the FVCG microprocessor and between the FVCG microprocessor and a central control location, and
wherein the protocol translator provides for conversion of field device data from 4-20 mA, Fieldbus Foundation H1, serial, EI, and onoff interface protocols into HSL protocol for communication with the central control location;
b) a plurality of versatile control interfaces, located in the central control location, that collect data that is transmitted to and from the FVCGs;
c) a central versatile control switch, located in the central control location, that collects data transmitted to and from the versatile control interfaces and that interfaces with a distributed control system; and
d) a plant routing controller, located in the central control location, that provides supervisory control of the routing of data within the process control network; and
e) and an interface with a distributed control system (DCS) and an emergency shutdown (ESD) controller.
2. The process control network of claim 1, wherein one or more of the plurality of FVCGs communicate with one or more other FVCGs via HSL or a wireless protocol.
3. The process control network of claim 1, wherein each of the plurality of FVCGs includes an alarm module that monitors the health of the communications channel between the FVCG and each field device, and between the FVCG and associated versatile control interface, and reports any faults detected to the CCR andor PIB and assigns an alternative available healthy communication path for data transfer.
4. The process control network of claim 1, wherein one or more of the plurality of FVCGs that is communicating with an associated FVCG includes an alarm module that monitors the health of the communications channel or channels between the FVCGs, reports any faults to the CCR andor PIB and assigns an available healthy communication path between the FVCGs for data transfer, and assigns an alternative healthy communication path between the FVCGs for data transfer if the main assigned communication path health quality degrades.
5. The process control network of claim 1, wherein the central versatile control switch accesses and shares emergency shutdown and DCS data via a mapped Intelligent Safety and Control Integrator (ISCI) interface.
6. The process control network of claim 1, wherein the logic-in-the-field capabilities includes the use of an FVCG to perform local control functions, including a local emergency shutdown function.
7. The process control network of claim 1 in which the DCS is the primary control system and the FVCG is activated as the primary control system in the event of DCS failure or malfunction, or in the event of failed or degraded communications on the DCS.
8. The process control network of claim 1 in which the FVCG is the primary control system and the DCS is activated as the primary control system in the event of a failure or degraded communications on the FVCG.
9. The process control network of claim 1 in which a central logic solver is the primary emergency shutdown control system and the FVCG is activated as the primary emergency shutdown control system in the event of a failure of the central logic solver or degraded communications between the central logic solver and the FVCG.
10. The process control network of claim 1 in which the FVCG is the primary emergency shutdown control system and a central logic solver provides for secondary emergency shutdown control in the event of failure of the FVCG or degraded communications between the central logic solver and the FVCG.
11. The process control network of claim 1, wherein the central versatile control switch supports double or triple redundancy.
12. The process control system of claim 1, wherein the ESD controller performs an emergency shutdown function upon demand, and wherein one or more of the plurality of FVCGs performs logic-in-the-field functions for equipment that is geographically remote from the plant control room.
13. The process control system of claim 1, wherein the ESD controller performs an emergency shutdown function upon demand, and wherein one or more of the plurality of FVCGs performs logic-in-the-field functions to provide redundancy in the event the ESD controller emergency shutdown function is not performed because of communications failure or degradation.
14. The process control system of claim 1, wherein the DCS includes an alarm module that monitors the health of the FVCG, reports any faults to the CCR andor PIB, and transfers the FVCG’s control-in-the-field functions back to the DCS if the FVCG health quality degrades.
15. The process control system of claim 1, wherein the ESD controller includes an alarm module that monitors the health of the FVCG, reports any faults to the CCR andor PIB, and transfers the FVCG’s logic-in-the-field functions back to the ESD controller if the FVCG health quality degrades.
16. The process control system of claim 1, wherein the logic-in-the-field capabilities includes a plurality of FVCGs to perform a sequential local emergency shutdown function for multiple pieces of equipment.