1460900273-be0adc8e-afcb-4fac-8525-42b07b0f3dbf

1. A method of virtual application enabling of a web site comprising:
a) via an end-user device, connecting to a website targeted for application enabling;
b) generating end-user device compliant code for rendering of a web page on said end-user device;
c) rendering a web page on said end-user device;
d) providing locations on a rendered web page designated for virtual website application enabling;
e) automatically mapping locations selected in element d) into corresponding locations in the end-user or website source code;
f) providing application enabling code to be inserted at the locations identified in element e) or other general website code locations;
g) generating and managing a virtual application enabling setup package adapted to store application enabling information generated in elements d), e), and f); and
h) virtually generating on demand, the application enabled end-user code in accordance with the information and directions contained in the application enabling setup package, automatically, without user intervention after initial set-up, each time said web page is requested, resulting in dynamic web page changes without the need for prior publishing of web page changes on the web server by the user;
wherein said setup package can be automatically or manually edited to support a newer version of the targeted application or changes in the application enabling code.
2. The method of claim 1, further comprising:
providing a graphical user interface (GUI) adapted to carry out element d).
3. The method of claim 2, wherein said GUI is further adapted to acquire the application enabling code of element f).
4. The method of claim 2, wherein said GUI is further adapted to manage application specific configuration options.
5. The method of claim 2, further comprising:
via said GUI, indicating sections or aspects of the rendered web page available for functionality modification.
6. The method of claim 2, further comprising:
via said GUI, indicating where application enabling modification is not appropriate or not possible.
7. The method of claim 1, wherein said virtual application enabling can be performed simultaneously for multiple applications.
8. The method of claim 1, wherein said setup package is adapted to support a plurality of applications.
9. The method of claim 1, wherein element f) is carried out via said end-user device.
10. The method of claim 1, wherein element f) is carried out via a web server.
11. The method of claim 1, wherein element f) is carried out via a proxy server.
12. The method of claim 1, further comprising:
inserting changes to application enabling code; and
publishing a new version of the application enabling code back to a web server.
13. The method of claim 1, further comprising:
automatically removing application enabling code from said website source code when said application enabling code is no longer appropriate or desired.
14. A system for virtual application enabling of a web page comprising:
an end-user device, adapted to connect to a website targeted for application enabling, and to render a web page associated with the website;
a graphical user interface (GUI), adapted to provide visual location or component selection on a rendered web page;
a code mapper, adapted to automatically map locations selected by said GUI into corresponding locations in the end-user code or website source code;
a setup agent adapted to generate a virtual application enabling setup package, said virtual application enabling setup package comprising application enabling instructions, programming code, and data; and
a virtual end-user code generator adapted to generate on demand, application enabled end-user code automatically, without user intervention after initial set-up, each time said web page is requested, resulting in dynamic web page changes without the need for prior publishing of web page changes on the web server by the user;
wherein said setup package can be automatically or manually edited to support a newer version of the targeted application or changes in the application enabling code.
15. The system of claim 14, wherein said GUI is further adapted to carry out application enabling configuration and provisioning actions.
16. The system of claim 14, wherein said virtual end-user code generator is further adapted to contain application enabling instructions, code, or files for one or more applications.
17. The system of claim 14, further comprising:
a setup package manager adapted to manage the setup package life cycle.
18. The system of claim 14, further comprising:
an enabling agent adapted to execute application specific enabling functions.
19. The system of claim 14, further comprising:
an enabling module adapted to manage enabling agents together with associated virtual application enabling setup packages.
20. The system of claim 14, wherein said virtual end-user code generator is further adapted to provide multiple application enabling virtual end-user source code generation.
21. The system of claim 14, wherein said virtual end-user code generator is further adapted to run enabling agent together with the associated virtual application enabling setup package.
22. The system of claim 14, further comprising:
a website source code generator adapted to generate a new, application enabled, version of the website source code.
23. The system of claim 14, further comprising:
a code remover adapted to remove application enabling code from the website source code.

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 method comprising:
determining that the available space in an output queue associated with a first port of a first network device is below a threshold indicating that additional packets destined for a congested port of a second network device should not be sent by a third network device;
creating a transaction layer packet, in response to said determination, including a field containing a first turn value that specifies a relative position of said congested port of said second network device with respect to an input port of the second network device and containing a separate second turn value that specifies a relative position of said first port of said first network device with respect to a second port of the first network device; and
sending said transaction layer packet to said third network device via the second port of said first network device.
2. The method of claim 1, wherein the first turn value is a forward turn value of said congested port, and wherein the second turn value is a forward turn value of said first port.
3. The method of claim 2, whereby said transaction layer packet defines the forward routed path of a congested path, said congested path defined as the forward turn value of said first port, followed by the forward turn value of said congested port.
4. The method of claim 3, whereby said transaction layer packet defines the number of bits required to identify said forward routed path.
5. The method of claim 1, wherein the first turn value is a backward turn value of said congested port, and wherein the second turn value is a backward turn value of said first port.
6. The method of claim 5, whereby said transaction layer packet defines the backward routed path of a congested path, said congested path defined as the backward turn value of said congested port, followed by the backward turn value of said first port.
7. A method comprising:
a first network device receiving a first transaction layer packet defining a first congested path from a second network device;
determining that the available space in an output queue associated with a first port of said first network device is below a threshold indicating that additional packets destined for said first congested path should not be sent by a third network device;
creating a second transaction layer packet, in response to said determination, that identifies a new congested path, defined as said first congested path in combination with said first port of said first network device, wherein said second transaction layer packet includes a field containing a first turn value that specifies a relative position of the congested port of the second network device and a separate second turn value that specifies a relative position of the first port of said first network device with respect to a second port of the first network device; and
sending said second transaction layer packet to said third network device via the second port of said first network device.
8. The method of claim 7, whereby said first transaction layer packet defines the forward routed path of said first congested path and said second transaction layer packet defines the forward routed path of said new congested path, said new congested path defined as the forward turn value of said first port, followed by the forward routed path of said first congested path.
9. The method of claim 7, whereby said first transaction layer packet defines the backward routed path of said first congested path and said second transaction layer packet defines the backward routed path of said new congested path, said new congested path defined as the backward routed path of said first congested path, followed by the backward turn value of said first port.
10. The method of claim 7, whereby said second transaction layer packet defines the number of bits required to identify said new congested path.
11. A network device comprising:
a first port configured to receive a data link layer packet from a downstream network device identifying that said downstream network device has a congested port;
a second port;
a queue configured to hold packets to be delivered via said first port to said congested port;
control logic configured to determine that the available space in said queue is below a threshold indicating that additional packets destined for said congested port should not be sent by an upstream network device, and in response to said determination, configured to create a transaction layer packet identifying a congested path, said congested path defined as said congested port and said first port, wherein said transaction layer packet includes a field containing a first turn value that specifies a relative position of the congested port with respect to an input port of the downstream network device and a separate second turn value that specifies a relative position of the first port with respect to the second port; and
wherein the second port is configured to transmit said transaction layer packet to said upstream network device.
12. The device of claim 11, wherein the first value is a forward turn value of said congested port, and wherein the second value is a forward turn value of said first port.
13. The device of claim 12, whereby said transaction layer packet defines the forward routed path of said congested path, said congested path defined as the forward turn value of said first port, followed by the forward turn value of said congested port.
14. The device of claim 13, whereby said transaction layer packet defines the number of bits required to identify said forward routed path.
15. The device of claim 11, wherein the first value is a backward turn value of said congested port, and wherein the second value is a backward turn value of said first port.
16. The device of claim 15, whereby said transaction layer packet defines the backward routed path of the congested path, said congested path defined as the backward turn value of said congested port, followed by the backward turn value of said first port.
17. A network device comprising:
a first port configured to receive a first transaction layer packet from a downstream network device identifying that said downstream network device has identified a first congested path;
a second port:
a queue configured to hold packets to be delivered via said first port to said first congested path;
control logic configured to determine that the available space in said queue is below a threshold indicating that additional packets destined for said first congested path should not be sent by an upstream network device, and in response to said determination, configured to create a second transaction layer packet identifying a modified congested path, said modified congested path defined as said first port in combination with said first congested path, wherein said second transaction layer packet includes a field containing a first turn value that specifies a relative position of a congested port of the downstream network device with respect to an input port of the downstream network device and a separate second turn value that specifies a relative position of the first port with respect to the second port; and
wherein the second port is configured to transmit said second transaction layer packet to said upstream network device.
18. The device of claim 17, whereby said first transaction layer packet defines the forward routed path of said first congested path and said second transaction layer packet defines the forward routed path of said modified congested path, said modified congested path defined as the forward turn value of said first port, followed by the forward routed path of said first congested path.
19. The device of claim 17, whereby said first transaction layer packet defines the backward routed path of said first congested path and said second transaction layer packet defines the backward routed path of said modified congested path, said modified congested path defined as the backward routed path of said first congested path, followed by the backward turn value of said first port.
20. The device of claim 17, whereby said second transaction layer packet defines the number of bits required to identify said modified congested path.
21. A method comprising:
determining that the available space in an output queue associated with a first port of a first network device, used in a loopback mode, is below a threshold indicating that additional packets destined for a congested port of a second network device should not be sent by said second network device;
creating a transaction layer packet, in response to said determination, including a field containing a first turn value that specifies a relative position of said congested port of said second network device with respect to an input port of the second network device and containing a separate second turn value that specifies loopback mode with respect to said first port of said first network device; and
sending said transaction layer packet to said second network device via said first port.
22. The method of claim 21, wherein the first turn value is a forward turn value of said congested port, and wherein the second turn value is a forward turn value of said first port.
23. The method of claim 22, whereby said transaction layer packet defines the forward routed path of a congested path, said congested path defined as the forward turn value of said first port, followed by the forward turn value of said congested port.
24. The method of claim 23, whereby said transaction layer packet defines the number of bits required to identify said forward routed path.
25. The method of claim 21, wherein the first turn value is a backward turn value of said congested port, and wherein the second turn value is a backward turn value of said first port.
26. The method of claim 25, whereby said transaction layer packet defines the backward routed path of a congested path, said congested path defined as the backward turn value of said congested port, followed by the backward turn value of said first port.
27. A method comprising:
a first network device, used in a loopback mode, receiving a first transaction layer packet defining a first congested path from a second network device;
determining that the available space in an output queue associated with a first port of said first network device is below a threshold indicating that additional packets destined for said first congested path should not be sent by said second network device;
creating a second transaction layer packet, in response to said determination, that identifies said new congested path, defined as said first congested path in combination with said first port of said first network device, wherein said second transaction layer packet includes a field containing a first turn value that specifies a relative position of a congested port of the second network device with respect to an input port of the second network device and a separate second turn value that specifies loopback mode with respect to the first port of said first network device; and
sending said second transaction layer packet to said second network device via said first port.
28. The method of claim 27, whereby said first transaction layer packet defines the forward routed path of said first congested path and said second transaction layer packet defines the forward routed path of said new congested path, said new congested path defined as the forward turn value of said first port, followed by the forward routed path of said first congested path.
29. The method of claim 27, whereby said first transaction layer packet defines the backward routed path of said first congested path and said second transaction layer packet defines the backward routed path of said new congested path, said new congested path defined as the backward routed path of said first congested path, followed by the backward turn value of said first port.
30. The method of claim 27, whereby said second transaction layer packet defines the number of bits required to identify said new congested path.
31. A first network device comprising:
a first port configured to receive a data link layer packet from a second port of a second network device identifying that said second network device has a congested port;
a queue configured to hold packets to be delivered via said first port to said congested port;
control logic configured to determine that the available space in said queue is below a threshold indicating that additional packets destined for said congested port should not be sent by said second network device, and in response to said determination, configured to create a transaction layer packet identifying a congested path, said congested path defined as said congested port and said first port, wherein said transaction layer packet includes a field containing a first turn value that specifies a relative position of the congested port of the second network device with respect to an input port of the second network device and a separate second turn value that specifies loopback mode with respect to the first port, and wherein said control logic is further configured in the loopback mode to transmit said transaction layer packet via said first port.
32. The device of claim 31, wherein the first turn value is a forward turn value of said congested port, and wherein the second turn value is a forward turn value of said first port.
33. The device of claim 32, whereby said transaction layer packet defines the forward routed path of a congested path, said congested path defined as the forward turn value of said first port, followed by the forward turn value of said congested port.
34. The device of claim 33, whereby said transaction layer packet defines the number of bits required to identify said forward routed path.
35. The device of claim 31, wherein the first turn value is a backward turn value of said congested port, and wherein the second turn value is a backward turn value of said first port.
36. The device of claim 35, whereby said transaction layer packet defines the backward routed path of said congested path, said congested path defined as the backward turn value of said congested port, followed by the backward turn value of said first port.
37. A network device comprising:
a first port configured to receive a first transaction layer packet from a second port of a second network device identifying that said second network device has identified a first congested path;
a queue configured to hold packets to be delivered via said first port to said first congested path;
control logic configured to determine that the available space in said queue is below a threshold indicating that additional packets destined for said first congested path should not be sent by said second network device, and in response to said determination, configured to create a second transaction layer packet identifying a modified congested path, said modified congested path defined as said first port in combination with said first congested path, wherein said second transaction layer packet includes a field containing a first turn value that specifies a relative position of a congested port of the second network device with respect to the second port of the second network device and a separate second turn value that specifies loopback mode with respect to the first port, and wherein said control logic is further configured in the loopback mode to transmit said transaction layer packet via said first port.
38. The device of claim 37, whereby said first transaction layer packet defines the forward routed path of said first congested path and said second transaction layer packet defines the forward routed path of said modified congested path, said modified congested path defined as the forward turn value of said first port, followed by the forward routed path of said first congested path.
39. The device of claim 37, whereby said first transaction layer packet defines the backward routed path of said first congested path and said second transaction layer packet defines the backward routed path of said modified congested path, said modified congested path defined as the backward routed path of said first congested path, followed by the backward turn value of said first port.
40. The device of claim 37, whereby said second transaction layer packet defines the number of bits required to identify said modified congested path.
41. A method comprising:
a first network device receiving from a downstream network device a first flow control message indicating that the downstream network device has a congested port;
determining that available space in an output queue associated with a first port of the first network device is below a threshold;
the first network device creating a second flow control message in response to receiving the first flow control message and determining that the available space in the output queue is below the threshold, wherein the second flow control message includes a first field containing a first value that identifies the congested port of the downstream network device and a separate second value that identifies the first port of said first network device;
sending the second flow control message from the first network device to an upstream network device via a second port of the first network device; and
the upstream network device blocking a packet destined for transmission through the first port and the congested port in response to the second flow control message;
wherein the first value specifies a relative position of the congested port with respect to an input port of the downstream network device, and wherein the second value specifies a relative position of the first port with respect to the second port of the first device.
42. The method of claim 41, wherein the second control message defines a forward routed path of a congested path within the first field, wherein the first field contains the second value followed by the first value.
43. The method of claim 42, wherein the second control message further includes a value that specifies the number of bits in the first field that define the forward routed path.
44. The method of claim 42, wherein the congested port is also identified in the second control message by specifying a third value indicating a relative position of the congested port in an opposite direction with respect to the input port of the downstream network device, and wherein the first port is also identified in the second control message by specifying a fourth value indicating a relative position of the first port in the opposite direction with respect to the second port of the first device.
45. The method of claim 44, wherein the second control message defines a reverse routed path of the congested path within in a second field that contains the third value followed by the fourth value.
46. A network device comprising:
a first port configured to receive a first message from a downstream network device, wherein the first message identifies a congested port of the downstream network device;
a queue configured to hold packets to be delivered via said first port to said congested port;
control logic configured to determine that the available space in said queue is below a threshold, wherein, in response to receiving the first message and determining that the available space in said queue is below the threshold, the control logic is further configured to generate a second message indicating that additional packets destined for said congested port should not be sent by an upstream network device, wherein the second includes a first field containing a first value that identifies the congested port of the downstream network device and a separate second value that identifies the first port of said first network device; and
a second port configured to transmit the second message to the upstream network device;
wherein the first value specifies a relative position of the congested port with respect to an input port of the downstream network device, and wherein the second value specifies a relative position of the first port with respect to the second port of the network device.
47. The network device of claim 46, wherein the second control message defines a forward routed path of a congested path within the first field, wherein the first field contains the second value followed by the first value.
48. The method of claim 47, wherein the second message further includes a value that specifies the number of bits in the first field that define the forward routed path.
49. The method of claim 47, wherein the congested port is also identified in the second message by specifying a third value indicating a relative position of the congested port in an opposite direction with respect to the input port of the downstream network device, and wherein the first port is also identified in the second message by specifying a fourth value indicating a relative position of the first port in the opposite direction with respect to the second port of the network device.
50. The network device of claim 49, wherein the second message defines a reverse routed path of the congested path within in a second field that contains the third value followed by the fourth value.
51. The method of claim 1, wherein said determining that the available space in said output queue associated with said first port is below said threshold is performed after said first network device has received a status based flow control data link layer packet identifying the congested port from the second network device.