1461153684-94a1c928-c3c7-49f0-b3b4-b87006e4e37c

1. A non-transitory computer-readable storage medium storing instructions executable by a computer system, the non-transitory computer-readable storage medium comprising instructions to:
at a computer system:
receive specified search topic from a user’s personal computer, laptop, tablet, smartphone, or other computing device or terminal;
for the specified search topic, search one or more social media networks, news or other websites, blogs or blogging websites andor e-commerce sites to identify messages posted to the one or more social media or other websites related to the specified topic;
receive a selection of one or more attributes potentially associated with each of the identified messages from the remote computer;
classify each of the identified messages according to the one or more selected attributes;
generate a visual representation indicating a quantity of the identified messages classified according to the one or more selected attributes;
cause the visual representation to be provided to the remote computer;
parsing content of each of the identified messages to determine the one or more attributes from the content of each of the identified messages, wherein the one or more attributes includes a sentiment indicating one of a favorable attitude toward the specified topic, a neutral attitude toward the specified topic, and an unfavorable attitude toward the specified topic, calculating a subjectivity index indicative of what proportion of the identified messages indicate either the favorable attitude toward the specified topic and the unfavorable attitude toward the specified topic as compared to a total of the identified messages that indicate any of the favorable attitude toward the specified topic, the neutral attitude toward the specified topic, and the unfavorable attitude toward the specified topic;
wherein the subjectivity index, I, is calculated according to an equation including:
I=(Total Favorable+Total Negative)(Total Favorable+Total Negative+Total Neutral),
and wherein: Total Favorable includes a quantity of the identified messages indicating the favorable attitude toward the specified topic;
Total Unfavorable includes a quantity of the identified messages indicating the unfavorable attitude toward the specified topic; and
Total Neutral includes a quantity of the identified messages indicating the neutral attitude toward the specified topic.
2. The non-transitory computer-readable storage medium of claim 1, wherein the one or more selected attributes includes a time at which each of the identified messages was posted.
3. The non-transitory computer-readable storage medium of claim 2, wherein the selection of the one or more attributes enables a further selection as to a range of times at which each of the identified messages was posted.
4. The non-transitory computer-readable storage medium of claim 2, wherein the visual representation includes a graph indicating a number of the identified messages that were posted during each of a number of time periods.
5. The non-transitory computer-readable storage medium of claim 4, wherein the graph includes a histogram.
6. The non-transitory computer-readable storage medium of claim 1, wherein the one or more selected attributes includes a geolocation from which each of the identified messages was posted.
7. The non-transitory computer-readable storage medium of claim 6, wherein the selection of the one or more selected attributes enables a further selection as to a plurality of geolocations to be included.
8. The non-transitory computer-readable storage medium of claim 6, wherein the visual representation includes a map indicating a quantity of the identified messages that were posted from each of a plurality of geolocations.
9. The non-transitory computer-readable storage medium of claim 6, wherein the visual representation includes a graph indicating a quantity of the identified messages that were posted from each of a plurality of geolocations.
10. The non-transitory computer-readable storage medium of claim 6, wherein the geolocation includes one of a local community, a municipality, a state, a province, a region, a nation, and a continent.
11. The non-transitory computer-readable storage medium of claim 1, wherein the selected attribute includes one of relationships and flows between entities participating in the one or more social media networks.
12. The non-transitory computer-readable storage medium of claim 11, wherein the visual representation includes a social network visualization representing one of the relationship and the flows between the entities participating in the one or more social media networks.
13. The non-transitory computer-readable storage medium of claim 12, wherein the visual representation includes a graph indicating a quantity of the identified messages indicating one of the favorable attitude toward the specified topic, the neutral attitude toward the topic and the unfavorable attitude toward the topic.
14. The non-transitory computer-readable storage medium of claim 1, further comprising including the subjectivity index in the visual representation.
15. The non-transitory computer-readable storage medium of claim 1, wherein the one or more attributes includes a language in which each of the identified messages was posted.
16. The non-transitory computer-readable storage medium of claim 15, wherein the visual representation includes a graph indicating the language in which each of the identified messages was posted.
17. The non-transitory computer-readable storage medium of claim 1, wherein the one or more attributes includes a reference to a future time.
18. The non-transitory computer-readable storage medium of claim 17, wherein the future time includes at least one of a future time, a future date, or one of a plurality of terms indicating a subsequent time.
19. The non-transitory computer-readable storage medium of claim 18, wherein the plurality of terms indicating a subsequent time include one or more of soon, later, tonight, tomorrow, next week, next month, and next year.
20. The non-transitory computer-readable storage medium of claim 1, further comprising semantically analyzing the content of the identified messages based on parsing the content of each of the identified messages.
21. The non-transitory computer-readable storage medium of claim 20, wherein semantically analyzing the content of the identified messages includes identifying a list of words most frequently included in the identified messages.
22. The non-transitory computer-readable storage medium of claim 20, wherein the list of words most frequently included in the identified messages includes a predetermined number of entries.
23. The non-transitory computer-readable storage medium of claim 21, further comprising omitting common connector words from the list of words most frequently included in the identified messages.
24. The non-transitory computer-readable storage medium of claim 23, wherein the common connector words to omitted from the list of words most frequently included in the identified messages includes one or more of and, but, a, an, or, and the.
25. The non-transitory computer-readable storage medium of claim 20, further comprising classifying words included in the list of words most frequently included in the identified messages according to parts of speech represented by the words included in the list of words most frequently included in the identified messages.
26. The non-transitory computer-readable storage medium of claim 25, wherein the parts of speech include two or more of nouns, verbs, adjectives, adverbs, place names, proper names, and words indicative of time.
27. The non-transitory computer-readable storage medium of claim 25, further comprising determining a quantity of each of the parts of speech represented in the list of words most frequently included in the list of identified messages.
28. The non-transitory computer-readable storage medium of claim 27, wherein the quantity of each of the parts of speech includes a proportion of the part of speech represented in the list of words most frequently included in the list of identified messages.
29. The non-transitory computer-readable storage medium of claim 27, further comprising including in the visual representation of the quantity of the words apportioned a pre-determined ratio of the parts of speech represented in the list of words most frequently included in the list of identified messages.
30. The non-transitory computer-readable storage medium of claim 28, further comprising including in the visual representation of the quantity of the words apportioned according to a pre-determined ratio of the parts of speech represented in the list of words most frequently included in the list of identified messages.
31. The non-transitory computer-readable storage medium of claim 1, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a total.
32. The non-transitory computer-readable storage medium of claim 1, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a fraction.
33. The non-transitory computer-readable storage medium of claim 1, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a percentage.
34. The non-transitory computer-readable storage medium of claim 1, wherein the visual representation includes one of a table, a map, a histogram, a bar graph, a line graph, and pie chart.
35. The non-transitory computer-readable storage medium of claim 34, further comprising receiving an election of a desired type of visual representation from the remote computer.
36. The non-transitory computer-readable storage medium of claim 1, further comprising causing an advertisement to be provided to the remote computer based on the specified topic.
37. The non-transitory computer-readable storage medium of claim 36, wherein the advertisement is topically related to the specified topic.
38. The non-transitory computer-readable storage medium of claim 36, wherein the advertisement is selectively associated with the specified topic by an advertiser.
39. The non-transitory computer-readable storage medium of claim 1, further comprising causing an advertisement to be provided to the remote computer based on information accessible about a user of the remote computer or other computing device.
40. The non-transitory computer-readable storage medium of claim 1, further comprising eliciting remuneration from a user of the remote computer or other computing device.
41. A computer-implemented method, comprising:
at a server computer system in communication with an Internet enabling communication with server computers hosting one or more social media networks and a remote computer:
receiving for a specified topic from the remote personal computer, laptop, tablet, smartphone, or other computing device;
for the specified topic, searching the one or more social media networks to identify messages posted to the one or more social media web sites related to the specified topic;
receiving a selection of one or more attributes potentially associated with each of the identified messages from the remote computer;
automatically classifying each of the identified messages according to the one or more selected attributes;
generating a visual representation indicating a quantity of the identified messages classified according to the one or more selected attributes;
causing the visual representation to be provided to the remote computer;
parsing content of each of the identified messages to determine the one or more attributes from the content of each of the identified messages wherein the one or more attributes includes a sentiment indicating one of a favorable attitude toward the specified topic, a neutral attitude toward the specified tonic, and an unfavorable attitude toward the specified topic;
calculating a subjectivity index indicative of what proportion of the identified messages indicate either the favorable attitude toward the specified topic and the unfavorable attitude toward the specified tonic as compared to a total of the identified messages that indicate any of the favorable attitude toward the specified topic, the neutral attitude toward the specified tonic, and the unfavorable attitude toward the specified topic; and

wherein the subjectivity index, I, is calculated according to an equation including:
I=(Total Favorable+Total Negative)(Total Favorable+Total Negative+Total Neutral),
and wherein:
Total Favorable includes a quantity of the identified messages indicating the favorable attitude toward the specified topic;
Total Unfavorable includes a quantity of the identified messages indicating the unfavorable attitude toward the specified topic; and
Total Neutral includes a quantity of the identified messages indicating the neutral attitude toward the specified topic.
42. The computer-implemented method of claim 41, wherein the one or more selected attributes includes a time at which each of the identified messages was posted.
43. The computer-implemented method of claim 41, wherein the one or more selected attributes includes a geolocation from which each of the identified messages was posted.
44. The computer-implemented method of claim of claim 43, wherein the selected attribute includes one of relationships and flows between entities participating in the one or more social media networks.
45. The computer-implemented method of claim 41, wherein the sentiment is determined to include the neutral attitude toward the specified topic when the sentiment is not determined to indicate either the favorable attitude toward the specified topic or the unfavorable attitude toward the specified topic.
46. The computer-implemented method of claim 41, further comprising including the subjectivity index in the visual representation.
47. The computer-implemented method of claim 41, wherein the one or more attributes includes a language in which each of the identified messages was posted.
48. The computer-implemented method of claim 47, wherein the visual representation includes a graph indicating the language in which each of the identified messages was posted.
49. The computer-implemented method of claim 41, wherein the one or more attributes includes a reference to a future time.
50. The computer-implemented method of claim 49, wherein the future time includes at least one of a future time, a future date, or one of a plurality of terms indicating a subsequent time.
51. The computer-implemented method of claim 50, wherein the plurality of terms indicating a subsequent time include one or more of soon, later, tonight, tomorrow, next week, next month, and next year, or specific dates, points, or ranges of time.
52. The computer-implemented method of claim 41, further comprising semantically analyzing the content of the identified messages based on parsing the content of each of the identified messages.
53. The computer-implemented method of claim 52, wherein semantically analyzing the content of the identified messages includes identifying a list of words most frequently included in the identified messages.
54. The computer-implemented method of claim 53, wherein the list of words most frequently included in the identified messages includes a predetermined number of entries.
55. The computer-implemented method of claim 53, further comprising omitting common connector words from the list of words most frequently included in the identified messages.
56. The computer-implemented method of claim 55, wherein the common connector words to omitted from the list of words most frequently included in the identified messages includes one or more of and, but, a, an, or, and the.
57. The computer-implemented method of claim 53, further comprising classifying words included in the list of words most frequently included in the identified messages according to parts of speech represented by the words included in the list of words most frequently included in the identified messages.
58. The computer-implemented method of claim of claim 57, wherein the parts of speech include two or more of nouns, verbs, adjectives, adverbs, place names, proper names, and words indicative of time.
59. The computer-implemented method of claim 57, further comprising determining a quantity of each of the parts of speech represented in the list of words most frequently included in the list of identified messages.
60. The computer-implemented method of claim 59, wherein the quantity of each of the parts of speech includes a proportion of the part of speech represented in the list of words most frequently included in the list of identified messages.
61. The computer-implemented method of claim 59, further comprising including in the visual representation the quantity of the parts of speech represented in the list of words most frequently included in the list of identified messages.
62. The computer-implemented method of claim 41, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a total.
63. The computer-implemented method of claim 41, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a fraction.
64. The computer-implemented method of claim 41, wherein the quantity of the identified messages classified according to the one or more selected attributes is expressed as a percentage.
65. The computer-implemented method of claim 41, wherein the visual representation includes one of a table, a map, a histogram, a bar graph, a line graph, and pie chart.
66. The computer-implemented method of claim 41, further comprising causing an advertisement to be provided to the remote computer based on the specified topic.
67. The computer-implemented method of claim 66, wherein the advertisement is topically related to the specified topic.
68. The computer-implemented method of claim 66, wherein the advertisement is selectively associated with the specified topic by an advertiser.
69. The computer-implemented method of claim 41, further comprising causing an advertisement to be provided to the remote computer based on information accessible about a user of the remote computer.
70. The computer-implemented method of claim 41, further comprising eliciting remuneration from a user of the remote computer.
71. The computer-implemented method of claim 41, wherein the advertisement is selectively displayed when predetermined levels of virality, popularity, andor polarity are reached for a specific topic.
72. The computer-implemented method of claim 41, wherein the user can earn loyalty points or credits by using the system.

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

We claim:

1. A method of processing a packet, comprising:
processing a first header of the packet to obtain a first protocol;
reading a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet; and
processing a second header of the packet based on the offset in the second header to obtain a second protocol.
2. The method of claim 1, wherein the record associates the first protocol with an enable flag, and wherein processing the second header of the packet comprises:
processing the second header of the packet based on the offset in the second header to obtain the second protocol if the enable flag is set.
3. The method of claim 2, wherein the record associates the first protocol with an offset to a payload of the packet, the method further comprising:
processing the payload of the packet based on the offset to the payload if the enable flag is set.
4. The method of claim 1, further comprising:
processing the packet based on an operation associated with the second protocol.
5. The method of claim 4, wherein the operation associated with the second protocol comprises a packet transform operation.
6. The method of claim 1, wherein the record associates the first protocol with an operation flag, the method further comprising:
processing the packet based on an operation associated with the operation flag.
7. The method of claim 1, wherein the record is a first record, the method further comprising:
reading a second record from the data structure using the second protocol as a key, the second record associating the second protocol with an operation flag; and
processing the packet based on an operation associated with the operation flag.
8. The method of claim 1, wherein the packet is a cryptographic packet.
9. The method of claim 1, wherein the packet comprises a packet-object header containing information for processing the packet in a pipelined processing system.
10. A method of relating packet headers in a data structure, comprising:
associating a protocol from a first header of a packet with an offset in a second header of a packet.
11. The method of claim 10, further comprising:
associating the protocol from the first header of the packet with an offset to a payload of the packet.
12. The method of claim 11, wherein the second header of the packet is an inner header and the first header of the packet is an outer header that encapsulates the inner header.
13. The method of claim 10, further comprising:
associating the protocol with an operation flag that specifies an operation to be performed on the packet.
14. The method of claim 10, wherein the protocol is a first protocol, the method further comprising:
associating a second protocol from the second header of the packet with an operation flag that specifies an operation to be performed on the packet.
15. The method of claim 10, wherein the protocol is a first protocol, the method further comprising:
associating the first protocol with an enable flag that specifies whether to determine a second protocol from the second header of the packet.
16. A system for processing a packet, comprising:
means for processing a first header of the packet to obtain a first protocol;
means for reading a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet; and
means for processing a second header of the packet based on the offset in the second header to obtain a second protocol.
17. The system of claim 16, wherein the record associates the first protocol with an enable flag, and wherein the means for processing the second header of the packet comprises:
means for processing the second header of the packet based on the offset in the second header to obtain the second protocol if the enable flag is set.
18. The system of claim 17, wherein the record associates the first protocol with an offset to a payload of the packet, the system further comprising:
means for processing the payload of the packet based on the offset to the payload if the enable flag is set.
19. The system of claim 16, further comprising:
means for processing the packet based on an operation associated with the second protocol.
20. The system of claim 19, wherein the operation associated with the second protocol comprises a packet transform operation.
21. The system of claim 16, wherein the record associates the first protocol with an operation flag, the system further comprising:
means for processing the packet based on an operation associated with the operation flag.
22. The system of claim 16, wherein the record is a first record, the system further comprising:
means for reading a second record from the data structure using the second protocol as a key, the second record associating the second protocol with an operation flag; and
means for processing the packet based on an operation associated with the operation flag.
23. The system of claim 16, wherein the packet is a cryptographic packet.
24. The system of claim 16, wherein the packet comprises a packet-object header containing information for processing the packet in a pipelined processing system.
25. A computer program product for processing a packet, comprising:
a computer readable program medium having computer readable program code embodied therein, the computer readable program code comprising:
computer readable program code configured to process a first header of the packet to obtain a first protocol;
computer readable program code configured to read a record from a data structure using the first protocol as a key, the record associating the first protocol with an offset in a second header of the packet; and
computer readable program code configured to process a second header of the packet based on the offset in the second header to obtain a second protocol.
26. The computer program product of claim 25, wherein the record associates the first protocol with an enable flag, and wherein the computer readable program code configured to process the second header of the packet comprises:
computer readable program code configured to process the second header of the packet based on the offset in the second header to obtain the second protocol if the enable flag is set.
27. The computer program product of claim 26, wherein the record associates the first protocol with an offset to a payload of the packet, the computer program product further comprising:
computer readable program code configured to process the payload of the packet based on the offset to the payload if the enable flag is set.
28. The computer program product of claim 25, further comprising:
computer readable program code configured to process the packet based on an operation associated with the second protocol.
29. The computer program product of claim 28, wherein the operation associated with the second protocol comprises a packet transform operation.
30. The computer program product of claim 25, wherein the record associates the first protocol with an operation flag, the computer program product further comprising:
computer readable program code configured to process the packet based on an operation associated with the operation flag.
31. The computer program product of claim 25, wherein the record is a first record, the computer program product further comprising:
computer readable program code configured to read a second record from the data structure using the second protocol as a key, the second record associating the second protocol with an operation flag; and
computer readable program code configured to process the packet based on an operation associated with the operation flag.
32. The computer program product of claim 25, wherein the packet is a cryptographic packet.
33. The computer program product of claim 25, wherein the packet comprises a packet-object header containing information for processing the packet in a pipelined processing system.
34. A computer program product, comprising:
a computer readable program medium having a computer readable data structure embodied therein, the computer readable data structure comprising:
a table that associates a protocol from a first header of a packet with an offset in a second header of a packet.
35. The computer program product of claim 34, wherein the table further associates the protocol from the first header of the packet with an offset to a payload of the packet.
36. The computer program product of claim 35, wherein the second header of the packet is an inner header and the first header of the packet is an outer header that encapsulates the inner header.
37. The computer program product of claim 34, wherein the table further associates the protocol with an operation flag that specifies an operation to be performed on the packet.
38. The computer program product of claim 34, wherein the protocol is a first protocol, and the table further associates a second protocol from the second header of the packet with an operation flag that specifies an operation to be performed on the packet.
39. The computer program product of claim 34, wherein the protocol is a first protocol, and the table further associates the first protocol with an enable flag that specifies whether to determine a second protocol from the second header of the packet.
40. A method of processing an Internet Protocol Security (IPSec) packet, comprising:
processing a first header of the packet to obtain a first IPSec protocol;
reading a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;
processing a second header of the packet based on the offset in the second header to obtain a second IPSec protocol; and
processing the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.
41. The method of claim 40, wherein the IPSec packet is an IP version 4 packet, and the first IPSec protocol is one of IP mobility, authentication header, IP in IP, and IP payload compression protocol.
42. The method of claim 40, wherein the IPSec packet is an IP version 6 packet, and the first IPSec protocol is one of IPv6 hop by hop option, routing header for IPv6, destination options for IPv6, and authentication header.
43. A Internet Protocol Security (IPSec) packet processing system, comprising:
means for processing a first header of the packet to obtain a first IPSec protocol;
means for reading a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;
means for processing a second header of the packet based on the offset in the second header to obtain a second IPSec protocol; and
means for processing the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.
44. The system of claim 43, wherein the IPSec packet is an IP version 4 packet, and the first IPSec protocol is one of IP mobility, authentication header, IP in IP, and IP payload compression protocol.
45. The system of claim 43, wherein the IPSec packet is an IP version 6 packet, and the first IPSec protocol is one of IPv6 hop by hop option, routing header for IPv6, destination options for IPv6, and authentication header.
46. A computer program product, comprising:
a computer readable program medium having computer readable program code embodied therein, the computer readable program code comprising:
computer readable program code configured to process a first header of the packet to obtain a first IPSec protocol;
computer readable program code configured to read a record from a data structure using the first protocol as a key, the record associating the first IPSec protocol with an offset in a second header of the packet and an offset to a payload of the packet;
computer readable program code configured to process a second header of the packet based on the offset in the second header to obtain a second IPSec protocol; and
computer readable program code configured to process the packet based on the offset to the payload of the packet to obtain at least one of a source and a destination port address.
47. The computer program product of claim 47, wherein the IPSec packet is an IP version 4 packet, and the first IPSec protocol is one of IP mobility, authentication header, IP in IP, and IP payload compression protocol.
48. The computer program product of claim 47, wherein the IPSec packet is an IP version 6 packet, and the first IPSec protocol is one of IPv6 hop by hop option, routing header for IPv6, destination options for IPv6, and authentication header.

1461153675-4610c9e5-11ec-4549-95a8-80e01b50e21e

1. A method for obtaining user input in a graphical user interface, the method comprising:
displaying at least a portion of a first curvilinear menu comprising a first set of selectable options circumferentially disposed on the first curvilinear menu;
rotating the first curvilinear menu about an axis to radially align an option from the first set with a fixed selection indicator;
in response to a selection of the radially-aligned option from the first set, displaying at least a portion of a second curvilinear menu comprising a second set of selectable options circumferentially disposed on the second curvilinear menu, wherein the second curvilinear menu is concentrically-disposed relative to the first curvilinear menu; and
rotating the second curvilinear menu about the axis to radially align a user-selected option from the second set with the fixed selection indicator, wherein the user-selected options from the first and second sets always define a radially-aligned selection path through the first and second curvilinear menus.
2. The method of claim 1, further comprising:
in response to a selection of the radially-aligned option from the second set, displaying at least a portion of a third curvilinear menu comprising a third set of selectable options circumferentially disposed on the third curvilinear menu, wherein the third curvilinear menu is concentrically-disposed relative to the first and second curvilinear menus; and
rotating the third curvilinear menu about the axis to radially align a user-selected option from the third set with the fixed selection indicator, wherein the user-selected options from the first, second, and third sets always define a radially-aligned selection path through the first, second, and third curvilinear menus.
3. The method of claim 1, wherein the first and second curvilinear menus are ring-shaped.
4. The method of claim 1, wherein the selectable options from the second set are determined by a selected option from the first set.
5. The method of claim 1, wherein the selectable options from the second set are sub-options of a selected option from the first set.
6. The method of claim 1, wherein the selectable options from the first and second sets are hierarchically related.
7. The method of claim 1, wherein at least one selectable option comprises an icon.
8. The method of claim 1, wherein at least one selectable option comprises text description.
9. The method of claim 1, wherein at least one selectable option is associated with an audio sample, and wherein the audio sample is automatically played in response to the corresponding option being aligned with the fixed selection indicator without an explicit selection action other than rotating one of the curvilinear menus.
10. The method of claim 1, wherein the second curvilinear menu concentrically encircles the first curvilinear menu.
11. The method of claim 1, wherein the second curvilinear menu is concentrically encircled by the first curvilinear menu.
12. The method of claim 1, wherein the first curvilinear menu is only partially displayed in the graphical user interface, and wherein the first set of selectable options comprises a subset of available options associated with the first curvilinear menu.
13. The method of claim 12, wherein the first curvilinear menu is rotatable in response to a user command to display a different subset of available options.
14. A user interface comprising:
a fixed selection indicator;
a first curvilinear menu comprising a first set of selectable options circumferentially disposed on the first curvilinear menu, wherein the first curvilinear menu is rotatable to radially align a user-selected option from the first set with the fixed selection indicator;
a second curvilinear menu comprising a second set of selectable options circumferentially disposed on the second curvilinear menu, wherein the second curvilinear menu is concentrically-disposed relative to the first curvilinear menu, wherein the second curvilinear menu is displayed in response to a user selection of an option from the first set, and wherein the second curvilinear menu is rotatable to radially align a user-selected option from the second set with the fixed selection indicator, wherein the user-selected options from the first and second sets always define a radially-aligned selection path through the first and second curvilinear menus.
15. The user interface of claim 14, further comprising:
a third curvilinear menu comprising a third set of selectable options circumferentially disposed on the third curvilinear menu, wherein the third curvilinear menu is concentrically-disposed relative to the second curvilinear menu, wherein the third curvilinear menu is displayed in response to a user selection of an option from the second set, and wherein the third curvilinear menu is rotatable to align a user-selected option from the third set with the fixed selection indicator, wherein the user-selected options from the first, second, and third sets always define a radially-aligned selection path through the first, second, and third curvilinear menus.
16. The user interface of claim 14, wherein the first and second curvilinear menus are ring-shaped.
17. The user interface of claim 14, wherein the selectable options from the second set are determined by a selected option from the first set.
18. The user interface of claim 14, wherein the selectable options from the second set are sub-options of a selected option from the first set.
19. The user interface of claim 14, wherein the selectable options from the first and second sets are hierarchically related.
20. The user interface of claim 14, wherein at least one selectable option comprises an icon.
21. The user interface of claim 14, wherein at least one selectable option comprises text description.
22. The user interface of claim 14, wherein at least one selectable option is associated with an audio sample, and wherein the audio sample is automatically played in response to the corresponding option being aligned with the fixed selection indicator without an explicit selection action other than rotating one of the curvilinear menus.
23. The user interface of claim 14, wherein the second curvilinear menu concentrically encircles the first curvilinear menu.
24. The user interface of claim 14, wherein the second curvilinear menu is concentrically encircled by the first curvilinear menu.
25. The user interface of claim 14, wherein the first curvilinear menu is only partially displayed, and wherein the first set of selectable options comprises a subset of available options associated with the first curvilinear menu.
26. The user interface of claim 14, wherein the first curvilinear menu is rotatable in response to a user command to display a different subset of available options.
27. A computer program product for performing a method for obtaining user input in a graphical user interface, the method comprising:
displaying at least a portion of a first curvilinear menu comprising a first set of selectable options circumferentially disposed on the first curvilinear menu;
rotating the first curvilinear menu about an axis to radially align a user-selected option from the first set with a fixed selection indicator;
in response to a selection of the radially-aligned option from the first set, displaying at least a portion of a second curvilinear menu comprising a second set of selectable options circumferentially disposed on the second curvilinear menu, wherein the second curvilinear menu is concentrically-disposed relative to the first curvilinear menu; and
rotating the second curvilinear menu about the axis to radially align a user-selected option from the second set with the fixed selection indicator, wherein the user-selected options from the first and second sets always define a radially-aligned selection path through the first and second curvilinear menus.
28. A system for obtaining user input in a graphical user interface, the system comprising:
means for displaying at least a portion of a first curvilinear menu comprising a first set of selectable options circumferentially disposed on the first curvilinear menu, wherein the first curvilinear menu is rotatable to align a user-selected option from the first set of selectable options with the fixed selection indicator;
means for displaying, in response to a selection of the radially-aligned option from the first set, at least a portion of a second curvilinear menu comprising a second set of selectable options circumferentially disposed on the second curvilinear menu, wherein the second curvilinear menu is concentrically-disposed relative to the first curvilinear menu, and wherein the second curvilinear menu is rotatable to radially align a user-selected option from the second set of selectable options with the fixed selection indicator, wherein the user-selected options from the first and second sets always define a radially-aligned selection path through the first and second curvilinear menus.

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 resorbable hemostatic dressing comprising a single layer of three-dimensionally entangled nonwoven felt that is not separable into distinct layers by hand consisting essentially of oxidized cellulose fibers, wherein the felt has sufficient mechanical strength and flexibility to retain its structural integrity when deployed laparoscopically.
2. The resorbable hemostatic dressing of claim 1, wherein said felt has a basis weight of from 70 to 200 grams per square meter
3. The resorbable hemostatic nonwoven felt of claim 2, wherein said felt has a tensile strength of more than 0.89 newtons.
4. The resorbable hemostatic dressing of claim 3, wherein said felt has a Z-direction tensile strength of more than 0.22 newtons.
5. The resorbable hemostatic dressing of claim 4, wherein said felt has a tear strength of greater than 0.22 newtons.
6. The resorbable hemostatic nonwoven dressing of claim 5, wherein the oxidized regenerated cellulose fibers have on average diameters from about 5 microns to about 25 microns.
7. The resorbable hemostatic nonwoven dressing of claim 6, wherein said felt has water absorption up to about 1000% of its weight.
8. The resorbable hemostatic nonwoven dressing of claim 1 having rectangular dimensions of 1 inch\xd72 inches and an insertion force for deployment through a laparoscopic trocar that, for a felt having the basis weight of from about 150 to about 200 grams per meter squared, is less than 89 newtons; that, for a felt having the basis weight of from about 100 to about 125 grams per meter squared, is less than 35.6 newtons; or that, for a felt having the basis weight of from about 70 to about 80 grams per meter squared, is less than 13.3 newtons.
9. The resorbable hemostatic nonwoven dressing of claim 1, wherein said three-dimensionally entangled felt is consists essentially of strands having a crimp of from about 5 crimpsinch to about 12 crimpsinch and a staple length from about 1\xbd to about 4\xbc inches.
10. A method of manufacturing the resorbable hemostatic nonwoven dressing of claim 1, said method comprising the steps of
a) providing cellulose yarn having filaments of minimal twist;
b) forming a multi-yarn, single feed circular knitted cellulose fabric having minimal twist;
c) scouring the cellulose fabric;
d) oxidizing the scoured fabric;
e) pliabilizing the oxidized fabric;
f) de-knitting the pliabilized fabric to form a continuous strand having a crimp from about 5 crimpsinch to about 12 crimpsinch;
g) cutting the continuous strand to form staples, said staples having length from about 1\xbd to about 4\xbc inches;
h) carding the staples into a carded batt;
i) needle-punching and three-dimensionally entangling the carded batt to form a single layer non-woven felt.
11. The method according to claim 10, wherein the steps of de-knitting and cutting are performed at low tension or minimal time at high tension.
12. The method according to claim 10, wherein the step of de-knitting is performed without subsequent spooling and followed immediately by cutting.
13. The method according to claim 10, wherein the carded batt comprises approximately 10 to 17 layers of carded web.
14. The method according to claim 13, wherein the carded batt comprises about 12 layers of carded web.