1. A system comprising:
one or more processors; and
one or more computer readable storage media embodying computer readable instructions that responsive to execution by the one or more processors implements:
a notification bar module that is configured to implement a download bar user interface control for use with a web browser, the download bar user interface control being non-modal such that interaction with content rendered by the web browser is allowed to continue independent of a selection via the download bar user interface control and being configured to:
be presented adjacent a content rendering area of the web browser such that the content rendering area of the web browser is not obscured by the download bar user interface control and in response to an indication of a request to download a file;
be closed responsive to an input received via the download bar user interface control; and
present download-related information and one or more selectable download-related options; and
a download manager module that is configured to implement a download manager user interface, wherein the download manager user interface is configured to be presented responsive to a selection of one of the one or more selectable download-related options presented within the download bar user interface control and is configured to be populated with the download-related information and additional download-related options, the additional download-related options of the download manager user interface including security options associated with downloading the file, the security options including an option to report a result of a security check of the file during download, an option to rerun a particular security check, and an option to download the file responsive to determining that the file failed one or more security checks.
2. The system of claim 1, wherein the request to download the file comprises a script-initiated file download.
3. The system of claim 1, wherein the one or more selectable download-related options presented in the non-modal download bar user interface control include a selectable option to save a file download.
4. The system of claim 1, further comprising tracking a file download that is in progress via the download manager user interface in an event that the web browser is closed, the tracking including presenting the download manager user interface in response to the web browser being closed and wherein the download-related information comprises a progress notification regarding a file download.
5. The system of claim 1, wherein the download bar user interface control is configured to be closed responsive to an indication of the download manager user interface being opened.
6. The system of claim 1, wherein the download bar user interface control is configured to be associated with a particular security domain, and the download bar user interface control is configured to be closed responsive to an indication of a navigation of the web browser away from the particular security domain.
7. The system of claim 1, wherein the download-related information comprises a selectable option that, if selected, causes a file to be run from a source of the file without saving the file to the one or more computer readable memories.
8. The system of claim 1, wherein the download-related information comprises a selectable option that, if selected, causes a file download that has been interrupted to be resumed.
9. The system of claim 8, wherein the download manager module is further configured to cause the file download that has been interrupted to be resumed by submitting a get file request to a source of the file.
10. The system of claim 1, wherein the notification bar module is further configured to present a single security-related notification in an event that a requested download file fails multiple security checks.
11. A computer-implemented method comprising:
receiving an indication of a request to download a file via a web browser;
presenting, responsive to receiving the indication of the request, a download bar user interface control that presents download-related information and one or more selectable download-related options, the download bar user interface control being:
non-modal such that interaction with content rendered by the web browser is allowed to continue independent of a selection via the download bar user interface control; and
presented adjacent a content-rendering area of the web browser such that the content-rendering area of the web browser is not obscured by the download bar user interface control; and
presenting, responsive to a selection of one of the one or more selectable download-related options included within the download bar user interface control, a download manager user interface that presents the download-related information previously presented in the download bar user interface control, additional download-related options related to the file, and information related to one or more previously-downloaded files, the additional download-related options of the download manager user interface including security options associated with downloading the file, the security options including an option to report a result of a security check of the file during download, an option to rerun a particular security check, and an option to download the file responsive to determining that the file failed one or more security checks.
12. The computer-implemented method of claim 11, further comprising:
receiving an indication of a selection of one of the additional download-related options presented by the download manager user interface; and
performing security actions related to the download of the file.
13. The computer-implemented method of claim 11, wherein the one or more selectable download-related options comprises a resume option that, if selected, causes a request to be submitted to a source of the file, wherein the request comprises a request to resume an interrupted download of the file.
14. The computer-implemented method of claim 13, wherein the interrupted download of the file comprises a download of the file that was paused responsive to a selection of one of the download-related options.
15. The computer-implemented method of claim 13, wherein the interrupted download of the file comprises a download of the file that was paused responsive to the web browser being closed.
16. The computer-implemented method of claim 11, wherein the indication of the request to download the file is received responsive to one or more of script executing on a computing device or a file download request from an add-on.
17. The computer-implemented method of claim 11, further comprising initiating a download of the file to a temporary and safe location prior to a selection of at least one of the selectable download-related options.
18. The computer-implemented method of claim 11, further comprising:
receiving an indication that the file did not pass multiple security checks; and
presenting, via the download bar user interface control, a single security-related notification based at least in part on the indication that the file did not pass the multiple security checks.
19. A computer-implemented method comprising:
presenting, responsive to receiving an indication of a request to download a file, a download bar user interface control that presents download-related information, wherein the download bar user interface control is non-modal such that an input via the download bar user interface control does not preclude interaction with content rendered by a web browser, is presented adjacent a content-rendering area of the web browser such that the content-rendering area of the web browser is not obscured by the download bar user interface control, and the download bar user interface control includes one or more selectable download-related options; and
presenting, responsive to a selection of one of the one or more selectable download-related options included within the download bar user interface control, a download manager user interface, wherein the download manager user interface presents at least the download-related information previously presented in the download bar user interface control and is configured to present additional download-related options that include security options associated with downloading the file, the security options including an option to report a result of a security check of the file during download, an option to rerun a particular security check, and an option to download the file responsive to determining that the file failed one or more security checks.
20. The computer-implemented method of claim 19, further comprising tracking a file download that is in progress via the download manager user interface in an event that the web browser is closed, the tracking including presenting the download manager user interface in response to the web browser being closed.
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 device comprising:
jitter buffer means for receiving from a network packets that encode data which represent sound; and
decoding means for decoding the packets, the decoding means including a processor adapted to:
determine an intended sequence of the sound data from the received packets;
arrange the received packets in the sequence;
infer lost packets in places of the sequence not having a corresponding received packet;
measure durations for multiple different variable duration packet loss episodes; and
determine a burstiness statistic for quantifying non-uniform lost packet distribution with respect to the received packets within the sequence according to the measured durations for the multiple different variable duration packet loss episodes wherein the burstiness statistic is derived independently of a packet loss rate.
2. The device of claim 1, wherein the processor is further adapted to-determine the burstiness statistic according to an identified longest one of the measured variable duration packet loss episodes.
3. The device of claim 2, wherein the processor is further adapted to-determine the burstiness statistic according to an average duration for the measured variable duration packet loss episodes.
4. The device of claim 1, wherein the processor is further adapted to determine the burstiness statistic by determining a duration number that identifies a non-uniform number of contiguously occurring lost packets or contiguously occurring received packets in the sequence of packets.
5. The device of claim 4, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the burstiness statistic.
6. The device of claim 5, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
7. The device of claim 4, wherein the processor generates multiple duration numbers identifying multiple different non-uniform durations of contiguously non-received packets in the sequence of packets and determines the burstiness statistic according to the multiple duration numbers.
8. The device of claim 5, wherein the processor generates the burstiness statistic according to a variance in the plurality of duration numbers.
9. The device of claim 1, wherein the processor is further adapted to determine the burstiness statistic by:
defining good states in the sequence that correspond to at least some of the received packets;
defining bad states in the sequence that correspond to at least some of the lost packets; and
counting a number of transitions in the sequence between the good stales and the bad states.
10. The device of claim 9, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the burstiness statistic.
11. The device of claim 10, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
12. The device of claim 9, wherein the processor is further adapted to:
compute a normalized burstiness statistic from the burstiness statistic.
13. The device of claim 12, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the normalized burstiness statistic.
14. The device of claim 13, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
15. The device of claim 9, wherein the processor is further adapted to determine the burstiness statistic by:
count a number of packets; and
divide the counted number of transitions by the counted number of packets.
16. The device of claim 15, wherein
the counted transitions are from the bad states to the good states, and
the counted packets are the lost packets.
17. A device comprising:
a network interface for coupling to a network; and
a processor coupled with the network interface, wherein the processor is adapted to receive packets containing sound data from a network;
determine an intended sequence of the sound data from the received packets;
arrange the received packets in the sequence;
infer lost packets in places of the sequence not having a corresponding received packet;
identifying durations for multiple different contiguous variable duration packet loss episodes;
calculating an average duration for the identified durations of the different contiguous variable duration packet loss episodes; and
determine a burstiness statistic independently of a packet loss rate for quantifying non-uniform lost packet distribution with respect to the received packets within the sequence according to the calculated average duration for the different contiguous variable duration packet loss episodes.
18. The device of claim 17, wherein the processor is further adapted to compute the average duration by taking a ratio between a number of the variable duration packet loss episodes and a number of lost packets.
19. The device of claim 17, wherein the processor is further adapted to determine the burstiness statistic according to a duration number that identifies a non-uniform number of contiguously occurring lost packets or contiguously occurring received packets in the sequence of packets.
20. The device of claim 19, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the burstiness statistic.
21. The device of claim 20, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
22. The device of claim 19, wherein the burstiness statistic is a maximum of a plurality of duration numbers.
23. The device of claim 19, wherein the burstiness statistic is an average of a plurality of duration numbers.
24. The device of wherein the burstiness statistic is a variance of a plurality of duration numbers.
25. The device of claim 17, wherein the processor is further adapted to determine the burstiness statistic by:
defining good states in the sequence that correspond to at least some of the received packets;
defining bad states in the sequence that correspond to at least some of the lost packets; and
counting a number of transitions in the sequence between the good states and the bad states.
26. The device of claim 25, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the burstiness statistic.
27. The device of claim 26, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
28. The device of claim 25, wherein the processor is further adapted to:
compute a normalized burstiness statistic from the burstiness statistic.
29. The device of claim 28, wherein the processor is further adapted to:
determine a figure of merit for the sequence from the normalized burstiness statistic.
30. The device of claim 29, wherein the processor is further adapted to:
determine an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
31. The device of claim 25, wherein the processor is further adapted to determine the burstiness statistic by:
count a number of packets; and
divide the counted number of transitions by the counted number of packets.
32. The device of claim 31, wherein
the counted transitions are from the bad states to the good states, and
the counted packets are the lost packets.
33. An article comprising: a storage medium, said storage medium having stored thereon instructions, that, when executed by at least one device, result in:
receiving packets containing sound data from a network;
determining an intended sequence of the sound data from the received packets;
arranging the received packets in the sequence;
inferring lost packets in locations of the sequence not having a corresponding received packet;
identifying durations for multiple different contiguous variable duration packet loss episodes;
calculating an average duration for the identified durations of the different contiguous variable duration packet loss episodes; and
determining a burstiness statistic for quantifying how the lost packets are distributed with respect to the received packets within the sequence according to the calculated average duration for the different contiguous variable duration packet loss episodes and deriving the burstiness statistic independently of a packet loss rate.
34. The article of claim 33, wherein the instructions further result in computing the average duration by taking a ratio between a number of the variable duration packet loss episodes and a number of lost packets.
35. The article of claim 33, wherein the instructions result in determining the burstiness statistic by:
determining at least one duration number in the sequence, wherein
the duration number is determined by counting either the number of contiguously occurring lost packets or contiguously occurring received packets.
36. The article of claim 35, wherein the instructions further result in:
determining a figure of merit for the sequence from the burstiness statistic.
37. The article of claim 36, wherein the instructions further result in:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
38. The article of claim 35, the burstiness statistic is a maximum of a plurality of duration numbers.
39. The article of claim 35, wherein the burstiness statistic is an average of a plurality of duration numbers.
40. The article of claim 35, wherein the burstiness statistic is a variance of a plurality of duration numbers.
41. The article of claim 33, wherein the instructions result in determining the burstiness statistic by:
defining good states in the sequence that correspond to at least some of the received packets;
defining bad states in the sequence that correspond to at least some of the lost packets; and
counting a number of transitions in the sequence between the good states and the bad states.
42. The article of claim 41, wherein the instructions further result in:
determining a figure of merit for the sequence from the burstiness statistic.
43. The article of claim 42, wherein the instructions further result in:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
44. The article of claim 41, wherein the instructions further result in:
computing a normalized burstiness statistic from the burstiness statistic.
45. The article of claim 44, wherein the instructions further result in:
determining a figure of merit for the sequence from the normalized burstiness statistic.
46. The article of claim 45, wherein the instructions further result in:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
47. The article of claim 41, wherein the instructions further result in determining the burstiness statistic by:
counting a number of packets; and
dividing the counted number of transitions by the counted number of packets.
48. The article of claim 47, wherein
the counted transitions are from the bad states to the good states, and
the counted packets are the lost packets.
49. A method comprising:
receiving packets containing sound data from a network;
determining an intended sequence of the sound data from the received packets;
arranging the received packets in the sequence;
inferring lost packets in places of the sequence not having a corresponding received packet;
measuring durations for multiple different contiguous variable duration packet loss episodes; and
determining a burstiness statistic for quantifying how the lost packets are non-uniformly distributed with respect to the received packets within the sequence according to the measured durations for the multiple different variable duration packet loss episodes that is derived independently of a packet loss rate for the received packets.
50. The method of claim 49, further comprising:
determining a figure of merit for the sequence from the burstiness statistic.
51. The method according to claim 49 including:
calculating an average duration for the measured durations of the different contiguous variable duration packet loss episodes; and
determining the burstiness statistic according to the calculated average duration for the different contiguous variable duration packet loss episodes.
52. The method of claim 49, wherein the burstiness statistic is determined by:
determining at least one duration number in the sequence, wherein
the duration number is determined by counting either the number of contiguously occurring lost packets or contiguously occurring received packets.
53. The method of claim 52, further comprising:
determining a figure of merit for the sequence from the burstiness statistic.
54. The method of claim 53, further comprising:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
55. The method of claim 52, wherein the burstiness statistic is a maximum of a plurality of duration numbers.
56. The method of claim 52, wherein the burstiness statistic is an average of a plurality of duration numbers.
57. The method of claim 52, wherein the burstiness statistic is a variance of a plurality of duration numbers.
58. The method of claim 49, wherein the burstiness statistic is determined by:
defining good states in the sequence that correspond to at least some of the received packets;
defining bad states in the sequence that correspond to at least some of the lost packets; and
counting a number of transitions in the sequence between the good states and the bad states.
59. The method of claim 58, further comprising:
determining a figure of merit for the sequence from the burstiness statistic.
60. The method of claim 59, further comprising:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
61. The method of claim 58, further comprising:
computing a normalized burstiness statistic from the burstiness statistic.
62. The method of claim 61, further comprising:
determining a figure of merit for the sequence from the normalized burstiness statistic.
63. The method of claim 62, further comprising:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.
64. The method of claim 58, wherein the burstiness statistic is further determined by:
counting a number of packets; and
dividing the counted number of transitions by the counted number of packets.
65. The method of claim 64, wherein
the counted transitions are from the bad states to the good states, and
the counted packets are the lost packets.
66. A method comprising:
receiving packets containing sound data from a network
determining an intended sequence of the sound data from the received packets, where the sequence is comprised of a plurality of locations;
arranging each received packet into a corresponding location in the sequence;
inferring lost packets in locations of the sequence not having a corresponding received packet; and
determining a burstiness statistic from the locations of the lost and received packets in the sequence, where the burstiness statistic is determined independently of a packet loss rate and quantifies non-uniform lost packet distribution with respect to the received packets within the sequence.
67. The method of claim 66, further comprising:
determining a figure of merit for the sequence from the burstiness statistic.
68. The method of claim 67, further comprising:
determining an average packet loss rate,
wherein the figure of merit is determined also from the average packet loss rate.