1. A method comprising:
registering a power profiler to be called when a power state transition event occurs in a component of a system;
allocating a buffer to store information related to the power state transition event; and
on occurrence of the power state transition event, reading a system counter value and a counter value for each of one or more low power states of the component, and writing the system counter value and the one or more counter values into the buffer.
2. The method of claim 1, further comprising reading the system counter value and the plurality of counter values without occurrence of an interrupt or a timer expiration.
3. The method of claim 2, further comprising passing control from an operating system (OS) to a collection function of a device driver of the power profiler to read the system counter value and the plurality of counter values.
4. The method of claim 3, further comprising inserting a call to the collection function in a tracepoint of the OS.
5. The method of claim 1, further comprising reading the system counter value and the plurality of counter values for each of a plurality of power state transition events, and for each of the power state transition events, writing the system counter value and the plurality of counter values to the buffer.
6. The method of claim 5, further comprising determining an elapsed time between a first and second power state transition event based on the system counter value read at the first and second power state transition events and determining a duration and type of a low power state entered after the first power state transition event based on the plurality of counter values read at the first and second power state transition events.
7. The method of claim 6, further comprising determining a difference between the system counter value read at the first and second power state transition events.
8. The method of claim 6, further comprising providing information including the duration and low power state type to an operating system that requested the first power state transition event.
9. The method of claim 8, further comprising modifying a behavior of the operating system, wherein the operating system requested that the first power state transition event be of a different type, the component overriding the request to a different low power state corresponding to the low power state type.
10. The method of claim 6, further comprising recording the elapsed time, the duration and the low power state type in a table.
11. An article comprising a machine-accessible storage medium including instructions that when executed cause a system to:
upon occurrence of each of a plurality of a power state transition events of a first direction for a core of a multi-core processor, read a value of a system counter of the core and values of each of a plurality of low power counters of the core, without expiration of a timer or triggering of an interrupt;
store the system counter value and the plurality of low power counter values for each of the power state transition events in a storage of the multi-core processor; and
after the plurality of power state transition events, access the storage to determine a power profile of the multi-core processor using the stored system counter values and the stored plurality of low power counter values.
12. The article of claim 11, further comprising instructions that when executed enable the system to determine an elapsed time between a first and second power state transition event based on the system counter value read at the first and second power state transition events and determine a duration and type of a low power state entered after the first power state transition event based on the plurality of low power counter values read at the first and second power state transition events.
13. The article of claim 12, further comprising instructions that when executed enable the system to record the elapsed time, the duration and the low power state type in a table, and provide information including the duration and low power state type to an operating system that requested the first power state transition event.
14. The article of claim 13, further comprising instructions that when executed enable the system to call a function of a power profiler from a notification mechanism when each of the plurality of power state transition events occurs to read the system counter value and the plurality of low power counter values.
15. The article of claim 14, further comprising instructions that when executed enable the system to allocate a buffer to store the system counter values and the plurality of low power counter values.
16. The article of claim 11, further comprising instructions that when executed enable the system to pass control from an operating system to a collection function of a device driver of the power profiler to read the system counter value and the plurality of low power counter values.
17. A system comprising:
a multi-core processor including a plurality of cores, each core including a front end logic, an out-of-order logic, and a backend logic, a time stamp counter to store a count of cycles, and a plurality of low power state counters, each of the plurality of low power state counters to count the cycles in which the core is in the corresponding low power state; and
a power profiler to read the time stamp counter and the plurality of low power state counters for each of one or more low power states of the multi-core processor, and write the time stamp counter value and the plurality of low power state counter values into a buffer.
18. The system of claim 17, wherein the power profiler is to read the time stamp counter and the plurality of low power state counters for a consecutive number of power state transition events of a first direction.
19. The system of claim 18, wherein the power profiler is to read the time stamp counter and the plurality of low power state counters without expiration of a timer or triggering of an interrupt.
20. The system of claim 17, wherein the power profiler includes a collection function that is called by a notification mechanism of an operating system, the notification mechanism to execute during a power state transition event into each of the one or more low power states.
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 search method and system that produces a document synthesized from multiple sources, comprising:
having a user provide a search phrase;
creating seed phrases, wherein a seed phrase can be the search phrase and also can be a minor variation on the search phrase;
identifying seed locations in multiple sources, wherein seed locations are locations where a seed phrase appears;
creating expanded text segments, wherein an expanded text segment is created for each seed location and each expanded text segment contains a seed phrase;
grouping expanded text segments, wherein expanded text segments are grouped into sets based on content similarity; and
synthesizing a document, wherein this document has content from some, or all, of these sets of expanded text segments and wherein this content is organized by set.
2. The user providing a search phrase in claim 1 wherein the method of this provision is selected from the group consisting of: typing a search phrase using a keyboard; entering a search phrase using a touch screen; selecting a search phrase from a menu of text phrases; selecting a search phrase associated with an icon; selecting a search phrase using a cursor; communicating a search phrase via gesture recognition; and providing a search phrase via speech.
3. The minor variations on the search phrase in claim 1 wherein one or more minor variations are selected from the group consisting of: a phrase with words that are corrected or alternative spelling variations of the words in the search phrase; a phrase with words that are grammatical variations (such as variation in tense, plurality, or voice) of the words comprising the search phrase; a phrase with words that are the same as those comprising the search phrase, except for the addition or deletion of grammatical articles (such as \u201ca\u201d or \u201can\u201d or \u201cthe\u201d) or relatively-neutral modifiers (such as \u201cvery\u201d or \u201cespecially\u201d); a phrase with words that are the same as those comprising the search phrase, but are in a different word order; a phrase with words that are the same as those comprising the search phrase, except for case variation (such as upper vs. lower case) in one or more letters in the search phrase; a phrase with the same words as those comprising the search phrase, but with variation in punctuation or word contraction; and a phrase that is a phrase synonym for the search phrase, wherein a phrase synonym is defined as alternative phrase that can be substituted for an original phrase in multiple sources without substantively changing meaning or creating a grammatical error in those sources.
4. The creation of expanded text segments in claim 1 wherein a text segment is defined using one or more definitions selected from the group including: (a) the expanded text segment includes characters spanning a first location, wherein this first location is a certain number of characters, words, sentences, or paragraphs backwards from the seed phrase, and a second location, wherein this second location is a certain number of characters, words, sentences, or paragraphs forwards from the seed phrase; (b) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards from the seed phrase until stop criteria based on the length or content of the characters in this backwards expansion are satisfied, and a second location, wherein this second location expands forwards from the seed phrase until stop criteria based on the length or content of the characters in the forwards expansion are satisfied; and (c) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards until one or more key characters or character strings are found, and a second location, wherein this second location expands forwards from the seed phrase until one or more key characters or character strings are found.
5. The grouping of expanded text segments in claim 1 wherein this grouping is done based on one or more criteria selected from the group consisting of: number of shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of shared words, phrases, or minor variations on word phrases among expanded text segments; types of shared words, phrases, or minor variations on word phrases among expanded text segments; order of shared words, phrases, or minor variations on word phrases among expanded text segments; number of non-shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of non-shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of non-shared words, phrases, or minor variations on word phrases among expanded text segments; types of non-shared words, phrases, or minor variations on word phrases among expanded text segments; order of non-shared words, phrases, or minor variations on word phrases among expanded text segments; semantic analysis of content similarity among expanded text segments; and Bayesian statistical analysis of content similarity among expanded text segments.
6. A search method and system that produces a single document synthesized from multiple sources, comprising:
having a user provide a search phrase;
creating seed phrases, wherein a seed phrase can be the search phrase and also can be a minor variation on the search phrase;
identifying seed locations in multiple sources, wherein seed locations are locations where a seed phrase appears;
creating expanded text segments, wherein an expanded text segment is created for each seed location and each expanded text segment contains a seed phrase;
grouping expanded text segments, wherein expanded text segments are grouped into sets based on content similarity;
consolidating content, wherein sets with substantially redundant content are consolidated and wherein expanded text segments, or portions of expanded text segments, with substantially redundant content are consolidated; and
synthesizing a single document, wherein this single document has content from some, or all, of these sets of expanded text segments and wherein this content is organized by set.
7. The user providing a search phrase in claim 6 wherein the method of this provision is selected from the group consisting of: typing a search phrase using a keyboard; entering a search phrase using a touch screen; selecting a search phrase from a menu of text phrases; selecting a search phrase associated with an icon; selecting a search phrase using a cursor; communicatinga search phrase via gesture recognition; and providing a search phrase via speech.
8. The minor variations on the search phrase in claim 6 wherein one or more minor variations are selected from the group consisting of: a phrase with words that are corrected or alternative spelling variations of the words in the search phrase; a phrase with words that are grammatical variations (such as variation in tense, plurality, or voice) of the words comprising the search phrase; a phrase with words that are the same as those comprising the search phrase, except for the addition or deletion of grammatical articles (such as \u201ca\u201d or \u201can\u201d or \u201cthe\u201d) or relatively-neutral modifiers (such as \u201cvery\u201d or \u201cespecially\u201d); a phrase with words that are the same as those comprising the search phrase, but are in a different word order; a phrase with words that are the same as those comprising the search phrase, except for case variation (such as upper vs. lower case) in one or more letters in the search phrase; a phrase with the same words as those comprising the search phrase, but with variation in punctuation or word contraction; and a phrase that is a phrase synonym for the search phrase, wherein a phrase synonym is defined as alternative phrase that can be substituted for an original phrase in multiple sources without substantively changing meaning or creating a grammatical error in those sources.
9. The creation of expanded text segments in claim 6 wherein a text segment is defined using one or more definitions selected from the group including: (a) the expanded text segment includes characters spanning a first location, wherein this first location is a certain number of characters, words, sentences, or paragraphs backwards from the seed phrase, and a second location, wherein this second location is a certain number of characters, words, sentences, or paragraphs forwards from the seed phrase; (b) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards from the seed phrase until stop criteria based on the length or content of the characters in this backwards expansion are satisfied, and a second location, wherein this second location expands forwards from the seed phrase until stop criteria based on the length or content of the characters in the forwards expansion are satisfied; and (c) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards until one or more key characters or character strings are found, and a second location, wherein this second location expands forwards from the seed phrase until one or more key characters or character strings are found.
10. The grouping of expanded text segments in claim 6 wherein this grouping is done based on one or more criteria selected from the group consisting of: number of shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of shared words, phrases, or minor variations on word phrases among expanded text segments; types of shared words, phrases, or minor variations on word phrases among expanded text segments; order of shared words, phrases, or minor variations on word phrases among expanded text segments; number of non-shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of non-shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of non-shared words, phrases, or minor variations on word phrases among expanded text segments; types of non-shared words, phrases, or minor variations on word phrases among expanded text segments; order of non-shared words, phrases, or minor variations on word phrases among expanded text segments; semantic analysis of content similarity among expanded text segments; and Bayesian statistical analysis of content similarity among expanded text segments.
11. The consolidation of content in claim 6 wherein identification of sets, expanded text segments, or portions of expanded text segments with substantially redundant content is based on one or more criteria selected from the group consisting of: number of shared words, phrases, or minor variations on word phrases; frequencies of shared words, phrases, or minor variations on word phrases; percentage of shared words, phrases, or minor variations on word phrases; types of shared words, phrases, or minor variations on word phrases; order of shared words, phrases, or minor variations on word phrases; number of non-shared words, phrases, or minor variations on word phrases; frequencies of non-shared words, phrases, or minor variations on word phrases; percentage of non-shared words, phrases, or minor variations on word phrases; types of non-shared words, phrases, or minor variations on word phrases; order of non-shared words, phrases, or minor variations on word phrases; semantic analysis of content similarity; and Bayesian statistical analysis of content similarity.
12. The synthesis of a single document in claim 6 wherein some, or all, of the post-consolidation sets of expanded text segments are selected for inclusion in the document and wherein the post-consolidation expanded text segments for those selected sets are grouped by set and included in the document.
13. A search method and system that produces a single document synthesized from multiple sources, comprising:
having a user provide a search phrase;
creating seed phrases, wherein seed phrases include the search phrase and also include minor variations on the search phrase, and wherein one or more minor variations are selected from the group consisting of: a phrase with words that are corrected or alternative spelling variations of the words in the search phrase; a phrase with words that are grammatical variations (such as variation in tense, plurality, or voice) of the words comprising the search phrase; a phrase with words that are the same as those comprising the search phrase, except for the addition or deletion of grammatical articles (such as \u201ca\u201d or \u201can\u201d or \u201cthe\u201d) or relatively-neutral modifiers (such as \u201cvery\u201d or \u201cespecially\u201d); a phrase with words that are the same as those comprising the search phrase, but are in a different word order; a phrase with words that are the same as those comprising the search phrase, except for case variation (such as upper vs. lower case) in one or more letters in the search phrase; a phrase with the same words as those comprising the search phrase, but with variation in punctuation or word contraction; and a phrase that is a phrase synonym for the search phrase, wherein a phrase synonym is defined as alternative phrase that can be substituted for an original phrase in multiple sources without substantively changing meaning or creating a grammatical error in those sources.
identifying seed locations in multiple sources, wherein seed locations are locations where a seed phrase appears;
creating expanded text segments, wherein an expanded text segment is created for each seed location and each expanded text segment contains a seed phrase, and wherein a text segment is defined using one or more definitions selected from the group including: (a) the expanded text segment includes characters spanning a first location, wherein this first location is a certain number of characters, words, sentences, or paragraphs backwards from the seed phrase, and a second location, wherein this second location is a certain number of characters, words, sentences, or paragraphs forwards from the seed phrase; (b) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards from the seed phrase until stop criteria based on the length or content of the characters in this backwards expansion are satisfied, and a second location, wherein this second location expands forwards from the seed phrase until stop criteria based on the length or content of the characters in the forwards expansion are satisfied; and (c) the expanded text segment includes characters spanning a first location, wherein this first location expands backwards until one or more key characters or character strings are found, and a second location, wherein this second location expands forwards from the seed phrase until one or more key characters or character strings are found;
grouping expanded text segments, wherein expanded text segments are grouped into sets based on content similarity, and wherein this grouping is done based on one or more criteria selected from the group consisting of: number of shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of shared words, phrases, or minor variations on word phrases among expanded text segments; types of shared words, phrases, or minor variations on word phrases among expanded text segments; order of shared words, phrases, or minor variations on word phrases among expanded text segments; number of non-shared words, phrases, or minor variations on word phrases among expanded text segments; frequencies of non-shared words, phrases, or minor variations on word phrases among expanded text segments; percentage of non-shared words, phrases, or minor variations on word phrases among expanded text segments; types of non-shared words, phrases, or minor variations on word phrases among expanded text segments; order of non-shared words, phrases, or minor variations on word phrases among expanded text segments; semantic analysis of content similarity among expanded text segments; and Bayesian statistical analysis of content similarity among expanded text segments;
consolidating content, wherein sets with substantially redundant content are consolidated and wherein expanded text segments, or portions of expanded text segments, with substantially redundant content are consolidated; and wherein identification of sets, expanded text segments, or portions of expanded text segments with substantially redundant content is based on one or more criteria selected from the group consisting of: number of shared words, phrases, or minor variations on word phrases; frequencies of shared words, phrases, or minor variations on word phrases; percentage of shared words, phrases, or minor variations on word phrases; types of shared words, phrases, or minor variations on word phrases; order of shared words, phrases, or minor variations on word phrases; number of non-shared words, phrases, or minor variations on word phrases; frequencies of non-shared words, phrases, or minor variations on word phrases; percentage of non-shared words, phrases, or minor variations on word phrases; types of non-shared words, phrases, or minor variations on word phrases; order of non-shared words, phrases, or minor variations on word phrases; semantic analysis of content similarity; and Bayesian statistical analysis of content similarity;
and synthesizing a single document, wherein some, or all, of the post-consolidation sets of expanded text segments are selected for inclusion in the document and wherein the post-consolidation expanded text segments for those selected sets are grouped by set and included in the document.