U.S. patent application number 16/532783 was filed with the patent office on 2019-11-28 for frequent content continuity visual assistance in content browsing.
The applicant listed for this patent is LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.. Invention is credited to Gary D. Cudak, Christopher J. Hardee, Randall C. Humes, Ruthie D. Lyle, Adam Roberts.
Application Number | 20190361953 16/532783 |
Document ID | / |
Family ID | 50234513 |
Filed Date | 2019-11-28 |
![](/patent/app/20190361953/US20190361953A1-20191128-D00000.png)
![](/patent/app/20190361953/US20190361953A1-20191128-D00001.png)
United States Patent
Application |
20190361953 |
Kind Code |
A1 |
Cudak; Gary D. ; et
al. |
November 28, 2019 |
FREQUENT CONTENT CONTINUITY VISUAL ASSISTANCE IN CONTENT
BROWSING
Abstract
Embodiments of the present invention provide a method, system
and computer program product for frequent content retrieval in a
content browser. In an embodiment of the invention, a method for
frequent content retrieval in a content browser is provided. The
method includes retrieving requested content from a content server
from over a computer communications network and comparing the
retrieved requested content to a cached version of the requested
content. The retrieved requested content thereafter can be
annotated to visually emphasize a frequently accessed portion of
the retrieved requested content in response to a threshold
difference between the retrieved requested content and the cached
version. Finally, the annotated retrieved requested content can be
returned to a content browser for display therein.
Inventors: |
Cudak; Gary D.; (Creedmoor,
NC) ; Hardee; Christopher J.; (Raleigh, NC) ;
Humes; Randall C.; (Raleigh, NC) ; Lyle; Ruthie
D.; (Durham, NC) ; Roberts; Adam; (Moncure,
NC) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD. |
Singapore |
|
SG |
|
|
Family ID: |
50234513 |
Appl. No.: |
16/532783 |
Filed: |
August 6, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13613265 |
Sep 13, 2012 |
10372779 |
|
|
16532783 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 16/957 20190101;
G06F 15/16 20130101; G06F 16/9574 20190101 |
International
Class: |
G06F 16/957 20060101
G06F016/957 |
Claims
1. A method for frequent content retrieval in a content browser,
the method comprising: retrieving requested content from a content
server from over a computer communications network; consulting a
cache to determine if a cached version of the requested content
persists in the cache; in response to the consulting, comparing the
retrieved requested content to a cached version of the requested
content; computing whether or not the retrieved requested content
differs from the cached version by at least a threshold amount;
and, on condition that the retrieved requested content differs from
the cached version by at least a threshold amount, identifying in
the cached version of the requested content, a portion of the
cached version of the requested content specified as frequently
accessed, locating the portion of the cached version of the
requested content in the retrieved requested content, annotating
the retrieved requested content to visually emphasize the located
frequently accessed portion of the retrieved requested content and,
returning the annotated retrieved requested content to a content
browser for display therein.
2. The method of claim 1, wherein the content is a Web page and the
content browser is a Web browser.
3. The method of claim 1, wherein the annotation is a change in
display attributes of text of the frequently accessed portion.
4. The method of claim 1, wherein the frequently accessed portion
is a hyperlink.
5. (canceled)
6. A content browsing data processing system configured for
frequent content retrieval, the system comprising: a host computer
with memory and at least one processor, the host computer
communicatively coupled to at least one content server from over a
computer communications network; and, a frequent content retrieval
module executing in the memory of the host computer and coupled to
a content browser and a page cache, the module comprising program
code enabled upon execution in the host computer to retrieve
requested content from a content server from over the computer
communications network, to consult a cache to determine if a cached
version of the requested content persists in the cache, in response
to the consulting, to compare the retrieved requested content to a
cached version of the requested content in the page cache, to
compute whether or not the retrieved requested content differs from
the cached version by at least a threshold amount, and on condition
that the retrieved requested content differs from the cached
version by at least a threshold amount, to identify in the cached
version of the requested content, a portion of the cached version
of the requested content specified as frequently accessed, to
locate the portion of the cached version of the requested content
in the retrieved requested content, to annotate the retrieved
requested content to visually emphasize the located frequently
accessed portion of the retrieved requested content and to return
the annotated retrieved requested content to the content browser
for display therein.
7. The system of claim 6, wherein the frequent content retrieval
module and the content browser both execute in the memory of the
host computer.
8. The system of claim 6, wherein the content is a Web page and the
content browser is a Web browser.
9. The system of claim 6, wherein the annotation is a change in
display attributes of text of the frequently accessed portion.
10. The system of claim 6, wherein the frequently accessed portion
is a hyperlink.
11. A computer program product for frequent content retrieval in a
content browser, the computer program product comprising: a
computer readable storage medium having computer readable program
code embodied therewith, the computer readable program code
comprising: computer readable program code for retrieving requested
content from a content server from over a computer communications
network; computer readable program code for consulting a cache to
determine if a cached version of the requested content persists in
the cache; computer readable program code, in response to the
consulting, for comparing the retrieved requested content to a
cached version of the requested content; computer readable program
code for computing whether or not the retrieved requested content
differs from the cached version by at least a threshold amount;
and, computer readable program code for, on condition that the
retrieved requested content differs from the cached version by at
least a threshold amount, identifying in the cached version of the
requested content, a portion of the cached version of the requested
content specified as frequently accessed, locating the portion of
the cached version of the requested content in the retrieved
requested content, annotating the retrieved requested content to
visually emphasize the located frequently accessed portion of the
retrieved requested content and, returning the annotated retrieved
requested content to a content browser for display therein.
12. The computer program product of claim 11, wherein the content
is a Web page and the content browser is a Web browser.
13. The computer program product of claim 11, wherein the
annotation is a change in display attributes of text of the
frequently accessed portion.
14. The computer program product of claim 11, wherein the
frequently accessed portion is a hyperlink.
15. The computer program product of claim 11, wherein the computer
readable program code for annotating comprises: computer readable
program code for detecting a threshold difference between the
retrieved requested content and the cached version; computer
readable program code for identifying a frequently accessed portion
of the cached version; computer readable program code for locating
the frequently accessed portion in the retrieved requested content;
and, computer readable program code for annotating the retrieved
requested content to visually emphasize the frequently accessed
portion.
Description
BACKGROUND OF THE INVENTION
Field of the Invention
[0001] The present invention relates to content browsing and more
particularly to frequent content management in content
browsing.
Description of the Related Art
[0002] The advent of the global Internet has facilitated access to
an unimaginable quantity of information to even the most casual end
user. Concurrently with the development of the Internet, developers
have produced several content retrieval systems, most famously the
world wide web (the "Web"). In the Web, just as in other content
retrieval systems, content is stored in different content servers
and retrieved into a content browser upon specifying a network
location of the content within the content browser. Initially
unique to the Web, however, was the notion of hyperlinking in which
content pages incorporate activatable references--namely
hyperlinks--such that the selection of a hyperlink in one content
page led to the loading and display in the content browser of the
content referenced by the hyperlink.
[0003] In the early years of the Web, Web content and its
presentation remained static, with both the formatting and
positioning of the content specified according to the hypertext
markup language (HTML). As such, modifying either content or the
presentation of the content in a Web page involved the direct
editing of the Web page--a tedious and error prone process. As the
Web has evolved, however, content is no longer static and often is
defined according to dynamic methodologies, and programmatic code
including scripts. Further, the content and presentation of a Web
page are no longer composite elements of a Web page. Rather, the
presentation has been separate from the content, most notably
through the use of style sheets and other templated presentation
technologies. Consequently, while content itself can remain static,
the layout of the content in a Web page, or within a Web site can
change quite often.
[0004] Given the vast expanse of the Web and other content
repositories, several mechanisms have been developed for end users
to repeatedly retrieve content of interest. Ranging from the
venerable "bookmark" to the more sophisticated subscription
oriented aggregative technologies such as portals and syndicated
feeds, these frequent content retrieval mechanisms render the Web
more manageable for end users. Even still, frequent content is not
merely limited to a page of content, but often frequent content is
more granular in nature such as a particular portion of a page of
content, or even just a display field in a page of content. Thus,
while the page itself may remain constant over time, the
presentation and layout of a page can change so as to displace
content of interest thereby obscuring its location from the end
user. In that circumstance, conventional frequent content retrieval
mechanisms will have failed.
BRIEF SUMMARY OF THE INVENTION
[0005] Embodiments of the present invention address deficiencies of
the art in respect to content browsing and provide a novel and
non-obvious method, system and computer program product for
frequent content retrieval in a content browser. In an embodiment
of the invention, a method for frequent content retrieval in a
content browser is provided. The method includes retrieving
requested content from a content server from over a computer
communications network and comparing the retrieved requested
content to a cached version of the requested content. The retrieved
requested content thereafter can be annotated to visually emphasize
a frequently accessed portion of the retrieved requested content in
response to a threshold difference between the retrieved requested
content and the cached version. Finally, the annotated retrieved
requested content can be returned to a content browser for display
therein.
[0006] In one aspect of the embodiment, the content is a Web page
and the content browser is a Web browser. In another aspect of the
embodiment, the annotation is a change in display attributes of
text of the frequently accessed portion. In yet another aspect of
the embodiment, the frequently accessed portion is a hyperlink. In
even yet another aspect of the embodiment, the annotating includes
detecting a threshold difference between the retrieved requested
content and the cached version, identifying a frequently accessed
portion of the cached version, locating the frequently accessed
portion in the retrieved requested content and annotating the
retrieved requested content to visually emphasize the frequently
accessed portion.
[0007] In another embodiment of the invention, a content browsing
data processing system is configured for frequent content
retrieval. The system includes a host computer with memory and at
least one processor. The host computer is communicatively coupled
to at least one content server from over a computer communications
network. The system also includes a frequent content retrieval
module executing in the memory of the host computer and coupled to
a content browser and a page cache. The module includes program
code enabled upon execution in the host computer to retrieve
requested content from a content server from over the computer
communications network, to compare the retrieved requested content
to a cached version of the requested content in the page cache, to
annotate the retrieved requested content to visually emphasize a
frequently accessed portion of the retrieved requested content in
response to a threshold difference between the retrieved requested
content and the cached version, and to return the annotated
retrieved requested content to the content browser for display
therein.
[0008] Additional aspects of the invention will be set forth in
part in the description which follows, and in part will be obvious
from the description, or may be learned by practice of the
invention. The aspects of the invention will be realized and
attained by means of the elements and combinations particularly
pointed out in the appended claims. It is to be understood that
both the foregoing general description and the following detailed
description are exemplary and explanatory only and are not
restrictive of the invention, as claimed.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0009] The accompanying drawings, which are incorporated in and
constitute part of this specification, illustrate embodiments of
the invention and together with the description, serve to explain
the principles of the invention. The embodiments illustrated herein
are presently preferred, it being understood, however, that the
invention is not limited to the precise arrangements and
instrumentalities shown, wherein:
[0010] FIG. 1 is a pictorial illustration of a process for frequent
content retrieval in a content browser;
[0011] FIG. 2 is a schematic illustration of a content browsing
data processing system configured for frequent content retrieval;
and,
[0012] FIG. 3 is a flow chart illustrating a process for frequent
content retrieval in a content browser.
DETAILED DESCRIPTION OF THE INVENTION
[0013] Embodiments of the invention provide for frequent content
retrieval in a content browser. In accordance with an embodiment of
the invention, a portion of or an entirety of a page of content can
be cached upon retrieval in a content browser. One or more
corresponding frequented elements of the cached page or portion of
the page can be stored in association with the cached content.
Thereafter, upon subsequent retrieval of the page of content, the
cached page or portion of the page can be compared to a
corresponding portion of the subsequently retrieved page or portion
of the page of content. To the extent that the page or portion of
the page is determined to have changed based upon the comparison,
the page or portion of the page can be parsed to locate the
frequented elements of the page of content. Finally, the located
frequented elements can be visually emphasized in the retrieved
page of content so as to alert the end user of the new positioning
of the frequented elements in the retrieved page of content.
[0014] In further illustration, FIG. 1 is a pictorial illustration
of a process for frequent content retrieval in a content browser.
As shown in FIG. 1, a page of content 130A can be cached in a cache
140 subsequent to retrieval by an end user 110 directing the
rendering of the page of content 130A in a content browser 120. One
or more content elements 150A, 150B of the page of content 130A can
be processed by frequent content logic 160 in order to identify
frequently accessed content 150A, such as a hyperlink in the page
of content 130A frequently activated by the end user 110, or a text
input field with which the end user 110 frequently interacts in the
page of content 130A. Frequently accessed content 150A for the page
of content 130A can be stored in a table 170 in connection with the
cached page of content 130A in the cache 140.
[0015] Thereafter, when a page of content 130B is retrieved and
determined to be a more recent form of the page of content 130A,
the frequent content logic 160 can determine if the page of content
130B differs from the page of content 130A stored in the cache 140.
If so, the frequent content logic 160 can locate within the page of
content 130B the frequently accessed content 150A and a visual
annotation 180 can be placed within the page of content 130B. For
instance, the visual annotation 180 can be a separate graphical
element or icon displayed in association with the frequently
accessed content 150A, or a highlighting attribute of the
frequently accessed content 150A such as an enlarged font of text
associated with the frequently accessed content 150A, underlining
or bolding of a font of text associated with the frequently
accessed content 150A, or a different font background or foreground
color of text associated with the frequently accessed content 150A.
In this way, when the page of content 130B is rendered in the
content browser 120, visual attention can be drawn to the new
location of the frequently accessed content 150A in the page of
content 130B.
[0016] The process described in connection with FIG. 1 can be
implemented within a computer data processing system. In yet
further illustration, FIG. 2 schematically shows a content browsing
data processing system configured for frequent content retrieval.
The system can include a host computer 210 with memory and at least
one processor configured for communicative coupling to different
servers 220 over computer communications network 240, for example
the global Internet. The host computer 210 can support the
execution in memory thereof of a content browser 250 such as a Web
browser enabled to retrieve and render different pages of content
served by content servers 230 in respectively different ones of the
serves 220 from over the computer communications network 240.
[0017] Frequent content retrieval module 300 can be coupled to the
content browser 250. Optionally, as shown in FIG. 2, the module 300
can execute within the same host computer 210 as the content
browser 250, though the module 300 also can execute separately from
the content browser 250 in a different computer. In either case,
the frequent content retrieval module 300 can include program code
that when executed in memory by a computer can compare a received
page of content (or a portion of a received page of content) to a
corresponding cached version of the received page of content or
portion thereof disposed in page cache 260. To the extent that the
respective pages differ by a threshold amount, one or more
frequently accessed page elements can be located within the
received page or portion thereof and the page or portion thereof
can be annotated to visually draw attention to the frequently
accessed page elements.
[0018] In even yet further illustration of the operation of the
frequent content retrieval module 300, FIG. 3 is a flow chart
illustrating a process for frequent content retrieval in a content
browser. Beginning in block 310, a page can be loaded into memory
in response to a directive to retrieve the page from a remotely
disposed content repository such as a Web site. In block 320, a
cache can be consulted to determine if a version of the retrieved
page persists in the cache. In decision block 330, it can be
determined whether or not the page can be located in the cache. If
not, in block 340 the retrieved can be rendered in a content
browser. Otherwise, the process can continue through block 350.
[0019] In block 330, if the page can be located in the cache, in
block 350 the retrieved page and the cached version of the page can
be compared to one another. In decision block 360, if the pages do
not differ from one another beyond a threshold degree, in block 340
the retrieved page can be rendered in the content browser.
Otherwise, in block 370 a frequent element can be identified for
the cached page and in block 380, the identified frequent element
can be located within the retrieved page. Thereafter, in block 390
the retrieved page can be annotated to visually distinguish the
frequent element in the retrieved page. For example, an iconic or
textual element can be placed proximate to the frequent element in
the page so as to draw attention to the frequent element, or the
display characteristics of the frequent element can be modified,
for example by enlarging a font size, varying a font color, or
decorating text of the frequent element through underlining or
bolding.
[0020] As will be appreciated by one skilled in the art, aspects of
the present invention may be embodied as a system, method or
computer program product. Accordingly, aspects of the present
invention may take the form of an entirely hardware embodiment, an
entirely software embodiment (including firmware, resident
software, micro-code, etc.) or an embodiment combining software and
hardware aspects that may all generally be referred to herein as a
"circuit," "module" or "system." Furthermore, aspects of the
present invention may take the form of a computer program product
embodied in one or more computer readable medium(s) having computer
readable program code embodied thereon.
[0021] Any combination of one or more computer readable medium(s)
may be utilized. The computer readable medium may be a computer
readable signal medium or a computer readable storage medium. A
computer readable storage medium may be, for example, but not
limited to, an electronic, magnetic, optical, electromagnetic,
infrared, or semiconductor system, apparatus, or device, or any
suitable combination of the foregoing. More specific examples (a
non-exhaustive list) of the computer readable storage medium would
include the following: an electrical connection having one or more
wires, a portable computer diskette, a hard disk, a random access
memory (RAM), a read-only memory (ROM), an erasable programmable
read-only memory (EPROM or Flash memory), an optical fiber, a
portable compact disc read-only memory (CD-ROM), an optical storage
device, a magnetic storage device, or any suitable combination of
the foregoing. In the context of this document, a computer readable
storage medium may be any tangible medium that can contain, or
store a program for use by or in connection with an instruction
execution system, apparatus, or device.
[0022] A computer readable signal medium may include a propagated
data signal with computer readable program code embodied therein,
for example, in baseband or as part of a carrier wave. Such a
propagated signal may take any of a variety of forms, including,
but not limited to, electro-magnetic, optical, or any suitable
combination thereof. A computer readable signal medium may be any
computer readable medium that is not a computer readable storage
medium and that can communicate, propagate, or transport a program
for use by or in connection with an instruction execution system,
apparatus, or device.
[0023] Program code embodied on a computer readable medium may be
transmitted using any appropriate medium, including but not limited
to wireless, wireline, optical fiber cable, radiofrequency, and the
like, or any suitable combination of the foregoing. Computer
program code for carrying out operations for aspects of the present
invention may be written in any combination of one or more
programming languages, including an object oriented programming
language and conventional procedural programming languages. The
program code may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on
the user's computer and partly on a remote computer or entirely on
the remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider).
[0024] Aspects of the present invention have been described above
with reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems) and computer program products
according to embodiments of the invention. In this regard, the
flowchart and block diagrams in the Figures illustrate the
architecture, functionality, and operation of possible
implementations of systems, methods and computer program products
according to various embodiments of the present invention. For
instance, each block in the flowchart or block diagrams may
represent a module, segment, or portion of code, which comprises
one or more executable instructions for implementing the specified
logical function(s). It should also be noted that, in some
alternative implementations, the functions noted in the block may
occur out of the order noted in the figures. For example, two
blocks shown in succession may, in fact, be executed substantially
concurrently, or the blocks may sometimes be executed in the
reverse order, depending upon the functionality involved. It will
also be noted that each block of the block diagrams and/or
flowchart illustration, and combinations of blocks in the block
diagrams and/or flowchart illustration, can be implemented by
special purpose hardware-based systems that perform the specified
functions or acts, or combinations of special purpose hardware and
computer instructions.
[0025] It also will be understood that each block of the flowchart
illustrations and/or block diagrams, and combinations of blocks in
the flowchart illustrations and/or block diagrams, can be
implemented by computer program instructions. These computer
program instructions may be provided to a processor of a general
purpose computer, special purpose computer, or other programmable
data processing apparatus to produce a machine, such that the
instructions, which execute via the processor of the computer or
other programmable data processing apparatus, create means for
implementing the functions/acts specified in the flowchart and/or
block diagram block or blocks.
[0026] These computer program instructions may also be stored in a
computer readable medium that can direct a computer, other
programmable data processing apparatus, or other devices to
function in a particular manner, such that the instructions stored
in the computer readable medium produce an article of manufacture
including instructions which implement the function/act specified
in the flowchart and/or block diagram block or blocks. The computer
program instructions may also be loaded onto a computer, other
programmable data processing apparatus, or other devices to cause a
series of operational steps to be performed on the computer, other
programmable apparatus or other devices to produce a computer
implemented process such that the instructions which execute on the
computer or other programmable apparatus provide processes for
implementing the functions/acts specified in the flowchart and/or
block diagram block or blocks.
[0027] Finally, the terminology used herein is for the purpose of
describing particular embodiments only and is not intended to be
limiting of the invention. As used herein, the singular forms "a",
"an" and "the" are intended to include the plural forms as well,
unless the context clearly indicates otherwise. It will be further
understood that the terms "comprises" and/or "comprising," when
used in this specification, specify the presence of stated
features, integers, steps, operations, elements, and/or components,
but do not preclude the presence or addition of one or more other
features, integers, steps, operations, elements, components, and/or
groups thereof.
[0028] The corresponding structures, materials, acts, and
equivalents of all means or step plus function elements in the
claims below are intended to include any structure, material, or
act for performing the function in combination with other claimed
elements as specifically claimed. The description of the present
invention has been presented for purposes of illustration and
description, but is not intended to be exhaustive or limited to the
invention in the form disclosed. Many modifications and variations
will be apparent to those of ordinary skill in the art without
departing from the scope and spirit of the invention. The
embodiment was chosen and described in order to best explain the
principles of the invention and the practical application, and to
enable others of ordinary skill in the art to understand the
invention for various embodiments with various modifications as are
suited to the particular use contemplated.
[0029] Having thus described the invention of the present
application in detail and by reference to embodiments thereof, it
will be apparent that modifications and variations are possible
without departing from the scope of the invention defined in the
appended claims as follows:
* * * * *