IP Library Granted Patent US 7,647,317
Granted Patent B2
US 7,647,317 · App. 11/694,558 · Granted Jan 12, 2010

Search techniques for page-based document layouts

Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,647,317
App. No.
11/694,558
Granted
Jan 12, 2010
Kind
B2
Abstract

Systems, methods, and/or techniques (“tools”) for improved search techniques for page-based document layouts are described herein. The tools may analyze markup elements defined for pages within source documents, and may determine whether the markup elements for the page may include at least part of a search string.

Claims (36)

1. One or more computer-readable storage media comprising computer-readable instructions that, when executed by a processor, cause a computer-controlled device to perform a computer-implemented method for searching a page-based markup document for an input search string, the method comprising:

receiving, at the computer-controlled device, at least one search request including the input search string from a user;

analyzing, by the computer-controlled device, markup elements defined for a plurality of pages within at least one source document, wherein the markup elements comprise at least one of text, drawings, formatting, or images, and the source document is an unrendered version of the page-based markup document;

determining whether the markup elements for the pages may include at least part of the input search string;

selecting at least one page from the plurality of pages as a candidate page for rendering, the selecting in response to determining that the markup elements for the page include at least part of the input search string;

rendering the at least one candidate page;

determining whether the search string occurs in the rendered candidate page;

indicating at least one location within the rendered candidate page at which the search string occurs; and

outputting search results that indicate where the input search string occurs in the rendered page based on the source document.

2. The computer-readable storage media of claim 1 , wherein the instructions for analyzing at least one markup element include instructions for searching for at least part of the search string in the markup element.

3. The computer-readable storage media of claim 2 , further comprising instructions for locating at least a portion of the search string in the markup element, and for eliminating at least the portion of the search string from further search on a given page of the source document once it has been located on the given page of the source document.

4. The computer-readable storage media of claim 2 , further comprising instructions for locating at least a further portion of the search string in the markup element, and for eliminating at least the further portion of the search string from further search on a given page of the source document once it has been located on the given page of the source document.

5. The computer-readable storage media of claim 1 , further comprising instructions for forwarding at least the candidate page for rendering.

6. The computer-readable storage media of claim 1 , further comprising instructions for searching a rendered version of the candidate page to determine whether the search string occurs in the rendered candidate page.

7. A system configured to search a page-based markup document for an input search string, the system comprising:

a processor;

memory;

a first search component residing in the memory, the first search component configured to receive the input search string from a user and search for at least a portion of the input search string in a given page within the page-based markup document prior to the page-based markup document having been rendered, the first search component further configured to forward the given page for rendering if portions of the input search string occur within selected markup elements in the given page;

a rendering module configured to render the given page; and

a second search component configured to determine whether the input search string occurs in the rendered page, the second search component further configured to indicate at least one location within the rendered page at which the search string occurs.

8. The computer-readable storage media of claim 1 , further comprising instructions for determining that the search string does not occur in the rendered candidate page.

9. The computer-readable storage media of claim 1 , further comprising instructions for determining that no markup elements defined for the page contain any portion of the search string.

10. The computer-readable storage media of claim 9 , further comprising instructions for eliminating the page from rendering and search.

11. The computer-readable storage media of claim 9 , further comprising instructions for rejecting the page.

12. The computer-readable storage media of claim 1 , further comprising instructions for selecting a further candidate page, wherein the further candidate page is either immediately previous to the candidate page in the source document, or immediately after the candidate page in the source document.

13. The computer-readable storage media of claim 12 , further comprising instructions for rendering the candidate page and the further candidate page, and for searching the rendered candidate page and the rendered further candidate page for the search string.

14. The computer-readable storage media of claim 13 , further comprising instructions for locating a portion of the search string on the rendered candidate page and for locating a further portion of the search string on the further rendered candidate page.

15. A display device including at least a processor and the computer-readable storage medium of claim 1 .

16. A computer-implemented method for searching a page-based markup document for an input search string, the method comprising:

analyzing, by a processor, markup elements defined for a plurality of pages within at least one source document, the source document being an unrendered page-based markup document stored in a computer readable storage media;

determining whether the markup elements for the pages may include at least part of an input search string;

selecting at least one page from the plurality of pages as a candidate page for rendering, the selecting in response to determining that the markup elements for the page include at least part of the input search string;

rendering the at least one candidate page;

determining whether the search string occurs in the rendered candidate page;

indicating at least one location within the rendered candidate page at which the search string occurs; and

outputting search results that indicate where the input search string occurs in the rendered candidate page based on the source document.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2007
From: GURCAN, AHMET; SEDKY, KHALED S.; FOEHR, OLIVER H.; DUNIETZ, JERRY
To: MICROSOFT CORPORATION
Reel/Frame 019428/0972 →
Continuity (1)
Related Publication 20080243814A1 · Oct 2, 2008