1461151870-189295dc-e71d-4ff4-94fa-a4c65d9b58d9

1. A computer-implemented method comprising:
observing communication between a plurality of devices;
inferring a respective state of at least one device of the plurality of devices based upon the observing the communication;
the respective state of a first device of the at least one device is determined to be unfulfilled;
the respective state of the first device is determined to be unfulfilled when the observing the communication comprises
observing an address resolution protocol request comprising a destination address for the first device, and
observing that the first device does not respond to the address resolution protocol request prior to expiration of a time limit.
2. The method of claim 1 wherein
the inferring is performed without sending a packet to the at least one device.
3. The method of claim 1 wherein
the inferring is performed without participating in the communication with the at least one device.
4. The method of claim 1 wherein
the inferring is performed only by listening to the communication with the at least one device.
5. The method of claim 1 further comprising:
setting a designation for a first device of the plurality of devices to a threat when
the first device receives a packet and
the respective state of the first device is unfulfilled.
6. The method of claim 5 further comprising:
changing the designation for the first device to a non-threat when subsequent communication initiated by the first device does not violate a rule for the communication.
7. The method of claim 1 further comprising:
setting a designation for a first device of the plurality of devices to a possible threat when
the communication is initiated by the first device, and
the communication initiated by the first device violates a rule.
8. The method of claim 7 further comprising:
changing the designation for the first device to a non-threat when subsequent communication initiated by the first device does not violate a second rule for the communication.
9. The method of claim 1 further comprising:
setting a designation for a first device of the at least one device to a possible threat based upon a packet configuration for a packet sent by the first device as part of the communication.
10. The method of claim 1 wherein
the respective state of a first device of the at least one device is determined to be unknown.
11. The method of claim 10 wherein
the respective state of the first device is determined to be unknown when the observing the communication comprises
observing that the first device fails to respond to the communication sent to the first device.
12. The method of claim 1 wherein
the respective state of the first device is determined to be unfulfilled when the first device receives an address resolution protocol request.
13. The method of claim 1 wherein
the respective state of a first device of the plurality of devices is determined to be used.
14. The method of claim 13 wherein
the respective state of the first device is determined to be used when the observing the communication comprises
observing that the first device performs one of sending and receiving a packet.
15. The method of claim 13 wherein
the respective state of the first device is determined to be used when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device sent a reply to the packet within a time limit.
16. The method of claim 1 wherein
the respective state of a first device of the plurality of devices is determined to be virtual.
17. The method of claim 16 wherein
the respective state of the first device is determined to be virtual when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device did not send a reply to the packet within a time limit.
18. The method of claim 1 wherein
the respective state of a first device of the plurality of devices is determined to be automatic.
19. The method of claim 18 wherein
the respective state of the first device is determined to be automatic when
an automatic reply is programmed to be sent to a second address when the first device receives a packet from the second address.
20. The method of claim 1 wherein
the respective state of the first device is determined to be omitted.
21. The method of claim 20 wherein
the respective state of the first device is determined to be omitted when
the observing is programmed to omit communication with the first device from the observing.
22. The method of claim 1 further comprising:
initializing the respective state of at least one device of the plurality of devices to unknown prior to the observing.
23. The method of claim 1 wherein
the plurality of devices communicates via a segment of a network.
24. The method of claim 1 further comprising:
maintaining the respective state for one device of the at least one device in a storage area.
25. The method of claim 1 wherein
storing information about at least one packet of a plurality of packets communicated between the plurality of devices.
26. The method of claim 25 wherein
the information comprises a respective source address and a respective destination address for each packet of the plurality of packets.
27. The method of claim 25 wherein
the information comprises a protocol for each packet of the plurality of packets.
28. The method of claim 25 wherein
the information comprises a time that each packet of the plurality of packets was sent.
29. A processing system comprising:
observing means for observing communication between a plurality of devices; and
inferring means for inferring a respective state of at least one device of the plurality of devices based upon the observing the communication;
determining means for determining that the respective state of the first device is unfulfilled when the observing the communication comprises
observing an address resolution protocol request comprising a destination address for the first device, and
observing that the first device does not respond to the address resolution protocol request prior to expiration of a time limit.
30. The system of claim 29 further comprising:
determining means for determining that the respective state is unknown when the observing the communication comprises
observing that the first device fails to respond to the communication sent to the first device.
31. The system of claim 29 further comprising:
determining means for determining that the respective state of the first device is unfulfilled when the first device receives an address resolution protocol request.
32. The system of claim 29 further comprising:
determining means for determining that the respective state of the first device is used when the observing the communication comprises
observing that the first device performs one of sending and receiving a packet.
33. The system of claim 29 further comprising:
determining means for determining that the respective state of the first device is used when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device sent a reply to the packet within a time limit.
34. The system of claim 29 further comprising:
determining means for determining that the respective state of a first device of the plurality of devices is virtual when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device failed to send a reply to the packet within a time limit.
35. The system of claim 29 further comprising:
determining means for determining that the respective state of the first device is automatic when
an automatic reply is programmed to be sent to a second address when the first device receives a packet from the second address.
36. The system of claim 29 further comprising:
determining means for determining that the respective state of the first device is omitted when
the observing is programmed to omit communication with the first device from the observing.
37. The system of claim 29 further comprising:
initializing means for initializing the respective state of at least one device of the plurality of devices to unknown prior to the observing.
38. The system of claim 29 further comprising:
maintaining means for maintaining the respective state for one device of the at least one device in a storage area.
39. The system of claim 29 further comprising:
storing means for storing information about at least one packet of a plurality of packets communicated between the plurality of devices.
40. A system comprising:
an observing module configured to observe communication between a plurality of devices; and
an inferring module configured to infer a respective state of at least one device of the plurality of devices based upon the observing the communication;
a determining module configured to determine that the respective state of the first device is unfulfilled when the observing the communication comprises
observing an address resolution protocol request comprising a destination address for the first device, and
observing that the first device does not respond to the address resolution protocol request prior to expiration of a time limit; and

a processor configured to interpret the observing module, inferring module, and determining module.
41. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state is unknown when the observing the communication comprises
observing that the first device fails to respond to the communication sent to the first device.
42. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of the first device is unfulfilled when the first device receives an address resolution protocol request.
43. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of the first device is used when the observing the communication comprises
observing that the first device performs one of sending and receiving a packet.
44. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of the first device is used when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device sent a reply to the packet within a time limit.
45. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of a first device of the plurality of devices is virtual when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device failed to send a reply to the packet within a time limit.
46. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of the first device is automatic when
an automatic reply is programmed to be sent to a second address when the first device receives a packet from the second address.
47. The system of claim 40 further comprising:
the determining module is further configured to determine that the respective state of the first device is omitted when
the observing is programmed to omit communication with the first device from the observing.
48. The system of claim 40 further comprising:
an initializing module configured to initialize the respective state of at least one device of the plurality of devices to unknown prior to the observing.
49. The system of claim 40 further comprising:
a maintaining module configured to maintain the respective state for one device of the at least one device in a storage area.
50. The system of claim 40 further comprising:
a storing module configured to store information about at least one packet of a plurality of packets communicated between the plurality of devices.
51. An article of manufacture comprising:
computer-readable medium encoded with computer interpretable instructions embodied therein including:
observing instructions configured to cause a processor to observe communication between a plurality of devices; and
inferring instructions configured to cause the processor to infer a respective state of at least one device of the plurality of devices based upon the observing the communication;
determining instructions configured to cause the processor to determine that the respective state of the first device is unfulfilled when the observing the communication comprises
observing an address resolution protocol request comprising a destination address for the first device, and
observing that the first device does not respond to the address resolution protocol request prior to expiration of a time limit.
52. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state is unknown when the observing the communication comprises
observing that the first device fails to respond to the communication sent to the first device.
53. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of the first device is unfulfilled when the first device receives an address resolution protocol request.
54. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of the first device is used when the observing the communication comprises
observing that the first device performs one of sending and receiving a packet.
55. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of the first device is used when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device sent a reply to the packet within a time limit.
56. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of a first device of the plurality of devices is virtual when the observing the communication comprises
observing that the first device received a packet when the respective state for the first device was unfulfilled, and
observing that the first device failed to send a reply to the packet within a time limit.
57. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of the first device is automatic when
an automatic reply is programmed to be sent to a second address when the first device receives a packet from the second address.
58. The article of manufacture of claim 51 further comprising:
the determining instructions further configured to cause the processor to determine that the respective state of the first device is omitted when
the observing is programmed to omit communication with the first device from the observing.
59. The article of manufacture of claim 51 further comprising:
initializing instructions configured to cause the processor to initialize the respective state of at least one device of the plurality of devices to unknown prior to the observing.
60. The article of manufacture of claim 51 further comprising:
maintaining instructions configured to cause the processor to maintain the respective state for one device of the at least one device in a storage area.
61. The article of manufacture of claim 51 further comprising:
storing instructions configured to cause the processor to store information about at least one packet of a plurality of packets communicated between the plurality of devices.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A method of manufacturing an electrode for a fuel cell, said electrode having a plurality of pores and comprising carbon particles with a catalyst carried thereon, said method comprising the steps of:
(a) preparing an electrode-forming member comprising said carbon particles and a pore-forming agent that can be sublimed; and
(b) subliming said pore-forming agent by setting said electrode-forming member under a predetermined condition.
2. A method in accordance with claim 1, wherein said step (a) further comprises the steps of:
(a1) dissolving said pore-forming agent into a solvent that allows dissolution of said pore-forming agent and dispersing said carbon particles in the solvent, so as to prepare a solution for forming a paste-like electrode;
(a2) forming the solution prepared in said step (al) into a predetermined shape of said electrode-forming member; and
(a3) depositing said pore-forming agent dissolved in the solution formed into the predetermined shape in said step (a2).
3. A method in accordance with claim 2, wherein said step (a3) further comprises the step of:
drying the solution formed into the predetermined shape, so as to make concentration of said pore-forming agent in the solution equal to or higher than its solubility, thereby allowing deposition of said pore-forming agent.
4. A method in accordance with claim 2 or 3, wherein said steps (a1) and (a2) are carried out at a predetermined temperature that allows solubility of said pore-forming agent in the solvent to be equal to or higher than a predetermined level.
5. A method of manufacturing an electrode for a fuel cell, said electrode having a plurality of pores and comprising carbon particles with a catalyst carried thereon, said method comprising the steps of:
(a) dispersing said carbon particles in a solvent that can be freeze-dried, so as to prepare a solution for forming a paste-like electrode;
(b) forming the solution prepared in said step (a) into a predetermined shape of said electrode; and
(c) freeze-drying the solvent of the solution formed into the predetermined shape in said step (b) under a specified condition.
6. A method of manufacturing an electrode-electrolyte membrane joint body for a fuel cell, said electrode-electrolyte membrane joint body being obtained by joining an electrode having a plurality of pores and comprising carbon particles with a catalyst carried thereon with an electrolyte membrane mainly composed of a polymer electrolyte, said method comprising the steps of:
(a) preparing an electrode-forming member comprising said carbon particles and a pore-forming agent that sublimes under a specified condition;
(b) joining said electrode-forming member prepared in said step (a) with said electrolyte membrane under a certain condition other than the specified condition to yield a joint body; and
(c) subliming said pore-forming agent by setting said joint body of said electrode-forming member and said electrolyte membrane under the specified condition.
7. A method in accordance with claim 6, wherein said step (a) further comprises the steps of:
(a1) dissolving said pore-forming agent into a solvent that allows dissolution of said pore-forming agent and dispersing said carbon particles in the solvent, so as to prepare a solution for forming a paste-like electrode;
(a2) forming the solution prepared in said step (a1) into a predetermined shape of said electrode-forming member; and
(a3) depositing said pore-forming agent dissolved in the solution formed into the predetermined shape in said step (a2).
8. A method in accordance with claim 7, wherein said step (a3) further comprises the step of:
drying the solution formed into the predetermined shape, so as to make concentration of said pore-forming agent in the solution equal to or higher than its solubility, thereby allowing deposition of said pore-forming agent.
9. A method in accordance with claim 7 or 8, wherein said steps (a1) and (a2) are carried out at a predetermined temperature that allows solubility of said pore-forming agent in the solvent to be equal to or higher than a predetermined level.
10. A method of manufacturing an electrode-electrolyte membrane joint body for a fuel cell, said electrode-electrolyte membrane joint body being obtained by joining an electrode having a plurality of pores and comprising carbon particles with a catalyst carried thereon with an electrolyte membrane mainly composed of a polymer electrolyte, said method comprising the steps of:
(a) dispersing said carbon particles in a solvent that can be freeze-dried, so as to prepare a solution for forming a paste-like electrode;
(b) forming the solution prepared in said step (a) into a predetermined shape of said electrode on said electrolyte membrane; and
(c) freeze-drying the solvent by setting the solution formed into the predetermined shape in said step (b) under a specified condition.
11. An electrode for a fuel cell, said electrode comprising carbon particles with a catalyst carried thereon and a space of three-dimensional diversified structure that is made of a plurality of pores having various diameters.
12. An electrode in accordance with claim 11, wherein said pores have diameters ranging from 0.02 to 0.3 m.

1461151859-37b8f141-0db6-4c3c-926d-628759f04ecf

1. A method of inputting a character to a computing unit, comprising:
capturing a stroke drawn by a user in relation to a reference zone;
identifying a combination of a shape and a relative position of said stroke in relation to said reference zone;
automatically selecting one of a plurality of characters from according said combination; and
providing said selected character as an input to the computing unit from said user;
wherein at least a portion of said stroke deviates from the boundaries of said reference zone.
2. The method of claim 1, wherein an outline of said stroke and of said reference zone jointly depict a form indicative of said selected character.
3. The method of claim 1, further comprising sequentially repeating said capturing, said identifying said selecting, and said providing so as to create a text paragraph.
4. The method of claim 1, wherein said reference zone is a virtual circle, said capturing further comprising displaying said reference zone on a touch screen.
5. The method of claim 1, wherein said stroke is a continuous touch gesture of said user on a touch screen.
6. The method of claim 5, wherein said user uses a thumb for performing said stroke.
7. The method of claim 1, further comprising dynamically changing the size of said reference zone according to said captured stroke.
8. The method of claim 1, further comprising adjusting said selected character according to a member of a group consisting of: a pressure applied during said stroke, a direction of said stroke, a pace of said stroke, a pressure applied on an input surface performing said capturing, an additional input received by a device performing said capturing, and an additional stroke performed by a touch gesture on an input surface performing said capturing.
9. The method of claim 8, wherein said adjusting comprises selecting between an upper case and a lower case of said character.
10. The method of claim 1, wherein said stroke is a touch gesture applied on an input surface.
11. The method of claim 1, further comprising detecting an interlude in a movement a pointing element used for performing said stroke, said identifying being performed according to said combination and said interlude.
12. The method of claim 10, further comprising measuring a level of a pressure applied during said touch gesture, said identifying being performed according to said combination and said level.
13. The method of claim 1, further comprising detecting a direction of said stroke, said identifying being performed according to said combination and said direction.
14. The method of claim 1, wherein said automatically selecting comprises automatically selecting one of said plurality of characters and a plurality of commands for executed by said computing unit.
15. The method of claim 1, wherein said plurality of characters comprises alphabetic characters, digits, punctuations, and mathematical operations.
16. The method of claim 1, wherein said computing unit is selected from a group consisting of: a cellular phone, a phone, a remote control, an electric book, a game console, a camera, a laser pointer, a navigation system, a video recorder, a music player, and an audio recorder.
17. The method of claim 1, wherein said identifying comprises identifying a combination of said shape, said relative position, and at least one member of a group consisting of a direction of said stroke, an interlude performed during said stroke an interlude performed during said stroke, a user input received during said stroke, and a pressure applied during said stroke.
18. The method of claim 1, wherein plurality of characters comprises alphabetic characters of a plurality of languages.
19. The method of claim 1, further comprising magnifying an editing area displayed in a presentation device, said character being imputed to said editing area.
20. A human user interface of allowing a user to input a character to a computing unit, comprising:
an input surface for capturing a stroke drawn by a user in relation to a reference zone an encoder for encoding a shape and a relative position of said stroke in relation to said reference zone;
a stroke recognition module for automatically identifying a character of a plurality of characters according to said shape and relative position; and
an outputting interface for outputting said character;
wherein at least a portion of said stroke deviates from the boundaries of said reference zone.
21. The human user interface of claim 20, further comprising a memory for hosting a plurality of stroke specifications, at least one of said plurality of stroke specifications being indicative of one of said plurality of characters, said automatically identifying comprises identifying a unique combination of said shape and said relative position and selecting said character by identifying a match between said unique combination and one of said plurality of stroke specifications.
22. The human user interface of claim 21, wherein at least one of said plurality of stroke specifications is indicative of a word, said stroke recognition module being configured for selecting said word by identifying a match between said unique combination and one of said plurality of stroke specifications.
23. The human user interface of claim 20, wherein said input surface is a click wheel and said reference zone being a circle, said circle and said click wheel being concentric.
24. The human user interface of claim 20, wherein said stroke is performed by a pointing element of a group consisting of: a finger, a stylus, and a laser marker.
25. The human user interface of claim 24, wherein said input surface is configured for capturing said stroke by detecting a continuous touch gesture of said pointing element, each said character being a different character of a natural language alphabet.
26. The human user interface of claim 20, wherein said input surface is configured for displaying said reference zone thereon.
27. The human user interface of claim 26, wherein said input surface is configured for displaying a menu in said reference zone, said stroke recognition module being configured for navigating in said menu according to said stroke.
28. The human user interface of claim 27, wherein said menu is a sub menu of a hierarchical menu, said stroke recognition module being configured for navigating in said menu hierarchical menu and respectively instructing a display of a plurality sub menus according to said stroke.
29. The human user interface of claim 26, wherein said stroke is performed by at least one of a click and a touch gesture.
30. The human user interface of claim 20, wherein said reference zone is circular.
31. The human user interface of claim 20, wherein said reference zone is rendered on said input surface.
32. The human user interface of claim 20, wherein said user interface is configured to allow said user to reposition said reference zone in relation to the orientation thereof.
33. The human user interface of claim 32, wherein said input surface is configured for capturing at least one of an additional stroke and a click, said stroke recognition module being configured to adjust said character according to said at least one additional stroke and click.
34. The human user interface of claim 20, wherein said device is integrated into a handheld device, said character being used as a user input of an application executed by said handheld device.
35. The human user interface of claim 20, wherein said outputting interface is wireless interface configured to forward said character to an external device.
36. The human user interface of claim 21, wherein first and second of said plurality of stroke specifications are respectively indicative of a lower case form and an upper case form of an alphabetic character, said first stroke specification being matched with a first stroke having a first outline and said second stroke specification being matched with a second stroke having a second stroke, said second stroke comprising said first stroke.
37. The human user interface of claim 21, further comprising a user interface module for allowing a user to associate at least one of said plurality of stroke specifications with a member of a group consisting of a character, a command, a digit, and a paragraph, said stroke recognition module being configured for selecting said member by identifying a match between said unique combination and said at least one stroke specification, said outputting interface being configured for outputting said member.
38. The human user interface of claim 20, wherein said input surface is attached on a man machine interface device.
39. The human user interface of claim 20, further comprising a curser module configured for moving a curser according to said stroke.
40. The human user interface of claim 20, wherein said input surface is configured for displaying a plurality of reference zones and capturing a plurality of strokes each separately performed in relation to one of said plurality of reference zones, said stroke recognition module being configured for separately performing said identifying and selecting for each said separately performed stroke so as to allow said outputting interface to output a plurality of characters to at least one application accordingly.
41. The human user interface of claim 20, further comprising a housing having a width of less than 5 millimeters for supporting said input surface, said encoder, and said stroke recognition module.
42. The human user interface of claim 41, wherein said housing is attached to a surface of a device, said outputting interface configured for outputting said character as input to said device.
43. The human user interface of claim 20, wherein said input surface is mounted on top of at least one of a gear stick and a steering wheel and said outputting interface being configured for outputting said character to a vehicle system.
44. A method of inputting a character, comprising:
capturing a stroke drawn by a user and outline a form of a character in combination with an outline of a circular reference zone;
computing said character according to a of said stroke in relation to said circular reference zone; and
outputting said character as an input of said user;
wherein at least a portion of said stroke deviates from boundaries said circular reference zone.
45. The method of claim 44, wherein at least one of said form and said reference zone is mnemonic for said character.
46. A human user interface of allowing a user to input a character to a computing unit, comprising:
a reference spot sensor for measuring a finger gesture performed in relation to a reference spot;
a finger holding element for mounting said sensor on a finger of a user;
an encoder for encoding a shape and a relative position of said finger gesture in relation to said reference spot; and
stroke recognition module for automatically identifying a character according to said shape and said relative position;
wherein at least a portion of said stroke deviates from boundaries said reference spot.
47. The human user interface of claim 46, wherein said stroke recognition module is hosted on a computing unit and configured for forwarding said character thereto, further comprises an outputting interface for transmitting said shape and said relative position to said stroke recognition module.
48. The human user interface of claim 46, wherein said reference spot sensor comprises at least one image sensor for capturing an image and using one of said image and a portion of said image as said reference spot.
49. A human user interface of allowing a user to input a character to a computing unit, comprising:
a touch screen for presenting a menu on a reference zone and for capturing a plurality of strokes drawn by a user, each said stroke being performed in relation to said reference zone and deviates from the boundaries thereof; and
a stroke recognition module for automatically identifying a character of a plurality of characters and navigating in said menu, each one of said identifying and navigating being performed according to a different stroke of said plurality of strokes.
50. The human user interface of claim 49, wherein each said stroke is a performed by a continuous touch gesture on said touch screen.
51. The human user interface of claim 49, wherein said stroke recognition module is configured for selecting menu items of said menu according to said plurality of strokes.
52. The human user interface of claim 49, wherein each said stroke is performed as a discrete and continuous touch gesture performed on said touch screen, said stroke recognition module being configured for navigating among a plurality of sub menus according to said stroke.
53. The method of claim 1, wherein each said plurality of characters having first and second nonoverlapping portions; said automatically selecting comprising automatically selecting one of said plurality of characters so that the pattern of said stroke matches at least said first portion and the pattern of said reference zone matches said second portion.
54. The method of claim 1, further comprising displaying said reference zone on a touch screen; wherein the location of said reference zone on said touch screen may be adjusted by said user.
55. The method of claim 1, further comprising displaying said reference zone on a touch screen; wherein the size of said reference zone on said touch screen may be adjusted by said user.

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 for generating playback instructions for playback of a recorded presentation layer protocol data stream transmitted from an application server (i) executing an application for a client and (ii) streaming the output display generated by the application to the client, the method comprising:
(a) receiving, by a protocol engine executing on a computing device, a recorded presentation layer protocol data stream comprising a plurality of packets representing display data generated by an application program executing on an application server;
(b) determining, by the protocol engine, to render the contents of a first packet having content identifying a window having input focus, the window associated with the application;
(c) determining, by the protocol engine, not to render the contents of a second packet having content identifying the window lacks input focus; and
(c) storing, by the protocol engine, the determination for the first packet and for the second packet of the recorded presentation layer protocol data stream in a playback data structure.
2. The method of claim 1, wherein step (b) further comprises determining to render the first packet responsive to an evaluation of a type of user input stored in the first packet.
3. The method of claim 1, wherein step (b) further comprises determining to render the first packet responsive to an evaluation of a type of graphics update stored by the first packet.
4. The method of claim 1, wherein step (b) further comprises determining to render the first packet responsive to an evaluation of a type of interaction sequence stored by the first packet.
5. A method for playback of a recorded presentation layer protocol data stream transmitted from an application server (i) executing an application for a client and (ii) streaming the output display generated by the application to the client, the method comprising:
(a) receiving, by a background protocol engine executing on a computing device, a recorded presentation layer protocol data stream comprising a plurality of packets representing display data generated by an application program executing on an application server and a playback data structure, a first packet of the plurality of packets having content identifying a window having input focus, the window associated with the application and a second packet of the plurality of packets having content identifying the window lacks input focus;
(b) and
determining, by a foreground protocol engine responsive to the playback data structure, to render the first packet and not to render the second packet.
6. The method of claim 5, further comprising determining to render the first packet responsive to an evaluation of a type of user input stored in the first packet.
7. The method of claim 5, further comprising determining to render the first packet responsive to an evaluation of a type of graphics update stored by the first packet.
8. The method of claim 5, further comprising determining to render the first packet responsive to an evaluation of a type of interaction sequence stored by the first packet.
9. The method of claim 5, further comprising storing, by the background protocol engine, in the playback data structure, instructions to render the first packet.
10. The method of claim 5, further comprising rendering, by the foreground protocol engine, the contents of the first packet.
11. A system for rendering a recorded presentation layer protocol data stream transmitted from an application server (i) executing an application for a client and (ii) streaming the output display generated by the application to the client comprising:
a playback data structure generated by a background protocol engine and storing metadata instructions for rendering a first packet having content identifying a window having input focus and metadata instructions for not rendering a second packet having content identifying the window lacks input focus;
the background protocol engine executing on a computing device and generating the playback data structure in response to receiving the recorded presentation layer protocol data stream, wherein the recorded presentation layer protocol data stream represents display data generated by an application program executed on an application server; and
a foreground protocol engine, receiving the recorded presentation layer protocol data stream and the playback data structure comprising the metadata instructions and rendering the first packet of the recorded presentation layer protocol stream of the application program.
12. The system of claim 11, wherein the background protocol engine generates the playback data structure substantially simultaneously with the foreground protocol engine rendering the recorded presentation layer protocol data stream.
13. The system of claim 11, wherein the foreground protocol engine executes on the computing device.
14. The system of claim 11, wherein the background protocol engine further comprises storing in the playback data structure at least one instruction for rendering the first packet in the recorded presentation layer protocol data stream.
15. The system of claim 11, wherein the background protocol engine further comprises storing in the playback data structure a record indicating a time to render the first packet in the recorded presentation layer protocol data stream.
16. The system of claim 11, wherein the foreground protocol engine renders the first packet in the recorded presentation layer protocol data stream both in a human-perceptible manner and to a buffer.
17. The system of claim 11, wherein the playback data structure contains an offset within a file of the start of the first packet in the recorded presentation layer protocol data stream to a buffer.