System and method for accelerating network interaction
First Claim
1. A system for providing accelerated network interaction as experienced by a user of a processor-based system operating under control of a network user interface, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, wherein said processor-based system includes a pool of resources previously accessed via said data communication network, said system comprising:
- means for emulating interaction of said network user interface with said data communication network;
means operable under control of said emulating means for substantially immediately presenting resources presently desired to said user from said pool without first determining if a later version of said resource is available over said communication network;
means operable under control of said emulating means for retrieving from said data communication network said resources presently desired if a later version of said resource is available over said communication network, and wherein said emulating means comprises an instruction set providing responses expected by said network user interface substantially immediately in response to calls for interaction with said data communication network, said instruction set subsequently determining how to properly service said calls and operating with said presenting means and said retrieving means accordingly.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system operable with a network user interface operable on a general purpose computer capable of multithreaded operation is disclosed which accelerates network interaction through intelligent cacheing, intelligent fetching, and intelligent filtering of data. In a preferred embodiment, such intelligent cacheing, fetching, and filtering of data are achieved by implementing an instruction set between the network user interface and the network to accomplish such tasks in a manner transparent to the user. According to one aspect, resources that are identified as unnecessary, such as ad data files, are not downloaded. Thus, communication of resources identified as unnecessary may be avoided. According to another aspect, during the second and subsequent accesses of network information, any resources present in a local cache are presented to the user immediately, without first determining if a later version of the resource is available over the network. More specifically, in response to a request for a resource present in a local cache, the instruction set may immediately provide the user interface a response expected by the user interface, thereby appearing to the user interface that the resource was obtained via the network. In the background, resource requests are issued over the network to download information that has been updated since stored in the cache. In another aspect, information determined to likely be subsequently accessed by a user, such as is determined from currently accessed information, is pre-loaded so upon selection by the user it is immediately available.
-
Citations
77 Claims
-
1. A system for providing accelerated network interaction as experienced by a user of a processor-based system operating under control of a network user interface, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, wherein said processor-based system includes a pool of resources previously accessed via said data communication network, said system comprising:
-
means for emulating interaction of said network user interface with said data communication network;
means operable under control of said emulating means for substantially immediately presenting resources presently desired to said user from said pool without first determining if a later version of said resource is available over said communication network;
means operable under control of said emulating means for retrieving from said data communication network said resources presently desired if a later version of said resource is available over said communication network, and wherein said emulating means comprises an instruction set providing responses expected by said network user interface substantially immediately in response to calls for interaction with said data communication network, said instruction set subsequently determining how to properly service said calls and operating with said presenting means and said retrieving means accordingly. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
means for notifying said user of the availability of an up-dated resource retrieved from said data communication network.
-
-
5. The system of claim 3, further comprising:
means for automatically presenting to said user an up-dated resource retrieved from said data communication network.
-
6. The system of claim 1, wherein said instruction set provides said responses expected by said network user interface regardless of a current status of said data communication network and said pool.
-
7. The system of claim 6, wherein said instruction set includes a software call library interposed between an original software call library adapted to respond to calls for interaction with said communication network and said network user interface, and wherein said retrieving means comprises said original software call library.
-
8. The system of claim 1, further comprising:
-
means for pooling network address name set information to provide conversion of network address names to network addresses without requiring data communication network interaction; and
means for verifying from said data communication network a selected one of said network addresses and for retrieving said network address if determined to be erroneous by said verifying means.
-
-
9. The system of claim 1, further comprising:
means for retrieving from said data communication network selected resources associated with said presently desired resources, said associated resources being resources not currently desired by said user, wherein said associated resources retrieving means operates to retrieve said associated resources at a priority lower than that of said presently desired resources retrieving means.
-
10. The system of claim 9, wherein said associated resources retrieving means comprises:
means for determining said resources associated with said presently desired resources most likely to be desired by said user in the future.
-
11. The system of claim 10, wherein said determining means includes means for determining resources which have been previously accessed by said user.
-
12. The system of claim 10, wherein said determining means includes means for utilizing statistical information with respect to said user interacting with said data communication network.
-
13. The system of claim 1, further comprising:
means for automatically avoiding retrieval of certain categories of resources.
-
14. The system of claim 13, wherein at least one of said certain categories are advertisements.
-
15. The system of claim 13, wherein said retrieval avoiding means comprises:
means for identifying a plurality of resources previously determined to be included in said certain categories of resources.
-
16. The system of claim 13, wherein said retrieval avoiding means comprises:
means for determining if said particular resource is provided by a network location different than a network location of a presently desired resource, wherein said retrieval avoiding means operates to avoid retrieval of said particular resource if determined to be a graphic resource and determined to be provided by a network location different than a presently desired resource.
-
17. The system of claim 16, wherein said retrieval avoiding means further comprises:
means for determining if a particular resource to be retrieved is a graphic resource.
-
18. The system of claim 17, wherein said retrieval avoiding means comprises:
means for identifying a plurality of resources previously determined to be a graphic resource and to be provided by a network location different than a presently desired resource by said determining means.
-
19. The system of claim 13, wherein said retrieval avoiding means comprises:
means for determining if said particular resource includes attributes indicative of an undesired resource, wherein said retrieval avoiding means operates to avoid retrieval of said particular resource determined to include said attributes.
-
20. The system of claim 19, wherein said retrieval avoiding means comprises:
means for identifying resources as undesirable to said user, wherein said identifying means is operable to include said particular resource if determined to include said attributes by said determining means.
-
21. The system of claim 1, further comprising:
means for automatically avoiding communication of selected data packets.
-
22. The system of claim 21, wherein said selected data packets are Internet cookies.
-
23. The system of claim 21, wherein said communication avoiding means comprises:
means for determining if a resource associated with said data packet is provided by a network location different than a network location of a presently desired resource, wherein said communication avoiding means operates to avoid communication of said data packet if said associated resource is determined to be provided by a network address different than a presently desired resource and said data packet is of a preselected type.
-
24. A method for providing accelerated network interaction as experienced by a user of a processor-based system operating under control of a network user interface, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, wherein said processor-based system includes a cache storing resources previously retrieved from said data communication network, said method comprising the steps of:
-
emulating interaction of said network user interface with said data communication network;
substantially immediately presenting a presently selected resource to said user from said cache without a prior determination that said selected resource in said cache is current, wherein said presenting step is operable with said emulating step to cause said presentation to appear to said user to have included network interaction; and
retrieving from said data communication network said presently selected resource, wherein said retrieving step is operable as a diminished priority task to up-date said resource if stored in said cache and said selected resource in said cache is determined not to be current, and wherein said retrieving step is operable as a high priority task to retrieve said resource if not in said cache. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
notifying said user of the availability of an up-dated resource retrieved from said data communication network after said presenting said presently selected resource to said user from said cache.
-
-
26. The method of claim 24, wherein said emulating step utilizes an emulation software call library interposed between a network interaction software call library adapted to respond to calls for interaction with said communication network and said network user interface.
-
27. The method of claim 26, wherein said retrieving step utilizes said network interaction software call library.
-
28. The method of claim 24, further comprising the steps of:
-
caching network address name set information to provide conversion of network address names to network addresses without requiring data communication network interaction; and
verifying from said data communication network a selected one of said network addresses and for retrieving said network address if determined to be erroneous by said verifying means.
-
-
29. The method of claim 24, further comprising the steps of:
retrieving from said data communication network at least one resource identifiable with said presently selected resource, said at least one identifiable resource being a resource not currently selected by said user, wherein said identifiable resource retrieving step operates as a diminished priority task to retrieve said at least one identifiable resource.
-
30. The method of claim 29, wherein the priority of said identifiable resource retrieving step is a priority level lower than that of said presently selected resources retrieving step.
-
31. The method of claim 29, wherein said identifiable resource retrieving step comprises the step of:
determining a resource associated with said presently selected resource most likely to be selected in the future.
-
32. The method of claim 31, wherein said determining step includes the step of:
identifying resources which have been previously accessed by said user.
-
33. The method of claim 24, further comprising the steps of:
-
identifying at least one resource unnecessary to said user, said identifying means operable substantially concurrently with said retrieving step; and
controlling said retrieving step to forego retrieving said at least one resource identified as unnecessary.
-
-
34. The method of claim 33, wherein said at least one unnecessary resource is an advertisement.
-
35. The method of claim 33, wherein said identifying step comprises the steps of:
-
determining if a particular resource to be retrieved is a graphic resource; and
determining if said particular resource is provided by a network address different than a network address of a presently selected resource.
-
-
36. The method of claim 33, wherein said identifying step comprises the step of:
determining if said at least one resource includes attributes indicative of a type of resource predetermined to be unnecessary.
-
37. The method of claim 24, further comprising the steps of:
-
identifying particular resources associated with said presently selected resource as a predetermined type of resource;
avoiding communication of data packets of said particular resources of said predetermined type determined to be unnecessary.
-
-
38. The method of claim 37, wherein said predetermined type of resource is an Internet cookie.
-
39. The method of claim 37, wherein said filtering step comprises the step of:
determining if a particular is provided by a network address different than a network address of said presently selected resource, wherein said avoiding communication of data packets of said particular resource if said particular resource is determined to be provided by a network address different than said presently selected resource.
-
40. A system for retrieving information over a network prior to the information being selected for use by a user of a processor-based system, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, said system comprising:
-
means for identifying information available from ones of said network devices associated with presently selected information;
means for determining said information associated with said presently selected information most likely to be selected;
means for retrieving from said data communication network information associated with said presently selected information, wherein said retrieving means operates to retrieve identified information determined to be most likely to be selected before other identified information; and
means for presenting ones of said retrieved identified resources substantially immediately to said user upon subsequent selection for use by said user, wherein said presenting means operates to emulate network communication when presenting said ones of said retrieved identified resources to said user. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49)
means for determining identified information which has been previously accessed by said user.
-
-
45. The system of claim 40, wherein said determining means comprises:
means for compiling statistical information with respect to said user interacting with said data communication network, wherein said determination of identified information most likely to be selected is at least in part based on said statistical information.
-
46. The system of claim 40, wherein said retrieving means operates as a background task in said processor-based system.
-
47. The system of claim 40, wherein said retrieving means comprises:
means for storing said retrieved identified information determined to be most likely to be selected before other identified information, wherein said stored retrieved identified information is presentable to said user substantially instantaneously upon selection of said retrieved identified information.
-
48. The system of claim 47, wherein said storing means comprises:
-
means for distinguishing between retrieved identified information previously accessed by said user and retrieved identified information not previously accessed by said user; and
means for purging said retrieved identified information not previously accessed by said user upon selection of other information after said retrieval of said retrieved identified information.
-
-
49. The system of claim 40, wherein said retrieving means comprises:
-
means for identifying identified information previously accessed by said user; and
means for retrieving said identified information previously accessed by said user only if said information has been changed since previously accessed by said user.
-
-
50. A computer program product having a computer readable medium having computer program logic recorded thereon for providing enhanced network interaction to a user of a processor-based system operating under control of a standardized network user interface, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, wherein said processor-based system includes a cache storing resources previously retrieved from said data communication network, said computer program product comprising:
-
means for interfacing substantially transparently to said network user interface;
means for emulating interaction of said network user interface with said data communication network;
means for substantially immediately presenting a presently selected resource to said user from said cache if stored therein, wherein said presenting means is operable with said emulating means to cause said presentation to appear to said user to have included network interaction; and
means for retrieving from said data communication network said presently selected resource, wherein said retrieving means is operable as a diminished priority task to up-date said resource if stored in said cache, and wherein said retrieving means is operable as a high priority task to retrieve said resource if not stored in said cache. - View Dependent Claims (51, 52, 53)
means for determining at least one resource identifiable with said presently selected resource likely to be selected for presenting to said user, said at least one identifiable resource being a resource not currently selected by said user; and
means for pre-retrieving from said data communication network said at least one resource identifiable with said presently selected resource, wherein said identifiable resource pre-retrieving means operates as a diminished priority task to retrieve said at least one associated resource.
-
-
52. The computer program product of claim 50, further comprising:
-
means for identifying at least one resource unnecessary to said user, said identifying means operable substantially concurrently with said retrieving means; and
means for controlling said retrieving means to forego retrieving said at least one resource identified as unnecessary.
-
-
53. The computer program product of claim 50, further comprising:
-
means for identifying particular resources associated with said presently selected resource as a predetermined type of resource; and
means for avoiding communication of data packets of said particular resources determined to be unnecessary.
-
-
54. A method of accelerating Internet browsing by a computer operating under control of an Internet browser application program, wherein said user computer has associated therewith a data cache of resources previously accessed by said Internet browser, and wherein said Internet browser has associated therewith a first library of software calls, said method comprising the steps of:
-
disposing a second library of software calls between said Internet browser and said first library of software calls; and
causing said Internet browser to interact with the Internet through said second library, wherein said second library operates to emulate Internet exchanges and thereby immediately retrieve desired resources from said data cache when available in said data cache, and wherein said second library operates to cause said first library to conduct Internet exchanges to retrieve desired resources when not available in said data cache. - View Dependent Claims (55, 56, 57, 58, 59)
referencing said desired resources to determine resources not currently indicated as desired which are likely to be desired resources in the future;
referencing information available at said user computer to determine at least one most likely to be desired resource of said resources not currently indicated as desired; and
pre-retrieving ones of said resources not currently indicated as desired, wherein said pre-retrieving step operates to pre-retrieve said most likely to be desired resource before other ones of said resources not currently indicated as desired.
-
-
58. The method of claim 54, further comprising the steps of:
identifying advertisement resources of said desired resources, wherein said step of causing said Internet browser to interact with the Internet through said second library to conduct Internet exchanges to retrieve desired resources when not available in said data cache is not performed to retrieve said identified advertisement resources.
-
59. The method of claim 54, further comprising the steps of:
-
classifying particular resources associated with said presently selected resource as a particular type of resource; and
avoiding communication of data packets of said resources of said particular type.
-
-
60. A system for accelerating network interaction as experienced by a user of a first processor-based system coupled to a second processor-based system through a data communication network, wherein said first processor-based system includes a cache of resources previously accessed via said data communication network, said system comprising:
-
means for determining if a resource to be accessed is stored in said cache;
means for substantially immediately presenting said resource to said user if said resource is determined to be in said cache; and
means for communicating over said network to access said resource to be accessed, wherein said communicating means comprises;
means for retrieving said resource via said data communication network, wherein said retrieved resource is stored in said cache when retrieved, wherein retrieval of said resource is accomplished as a high priority task of said first processor-based system if said resource is determined not to be in said cache; and
means for determining if said resource as presented to said user from said cache has been changed, wherein said retrieval of said resource is accomplished as a low priority task of said first processor-based system if said resource is determined to be in said cache and determined to have been changed, and wherein said resource is not retrieved if said resource determined to be in said cache is determined not to have been changed. - View Dependent Claims (61, 62, 63, 64)
means for identifying resources as undesirable to said user, said identifying means including identification of a plurality of resources previously determined to be undesirable to said user, wherein said retrieving means is operable to avoid retrieving said identified undesirable resources.
-
-
62. The system of claim 60, further comprising:
means for storing network address name set information to provide conversion of network address names to network addresses without requiring data communication network interaction.
-
63. The system of claim 60, further comprising:
means for verifying from said data communication network a selected one of said network addresses and for retrieving said network address if determined to be erroneous by said verifying means.
-
64. The system of claim 60, further comprising:
means for retrieving from said data communication network resources associated with said resource to be accessed, said associated resources being resources not currently selected, wherein said associated resources retrieving means operates as a low priority task of said first processor-based system to retrieve said associated resources.
-
65. A system for accelerating network interaction as experienced by a user of a first processor-based system coupled to a second processor-based system through a data communication network, wherein said first processor-based system includes a cache of resources previously accessed via said data communication network, said system comprising:
-
means for determining if a resource to be accessed is stored in said cache;
means for substantially immediately presenting said resource to said user if said resource is determined to be in said cache;
means for communicating over said network to access said resource to be accessed, wherein said communicating means comprises;
means for retrieving said resource via said data communication network, wherein said retrieved resource is stored in said cache when retrieved, wherein retrieval of said resource is accomplished as a high priority task of said first processor-based system if said resource is determined not to be in said cache;
means for determining if said resource as presented to said user from said cache has been changed, wherein said retrieval of said resource is accomplished as a low priority task of said first processor-based system if said resource is determined to be in said cache and determined to have been changed, and wherein said resource is not retrieved if said resource determined to be in said cache is determined not to have been changed; and
means for identifying resources as undesirable to said user, said identifying means including identification of a plurality of resources previously determined to be undesirable to said user, wherein said retrieving means is operable to avoid retrieving said identified undesirable resources;
means for verifying from said data communication network a selected one of said network addresses and for retrieving said network address if determined to be erroneous by said verifying means; and
means for retrieving from said data communication network resources associated with said resource to be accessed, said associated resources being resources not currently selected, wherein said associated resources retrieving means operates as a low priority task of said first processor-based system to retrieve said associated resources. - View Dependent Claims (66)
means for storing network address name set information to provide conversion of network address names to network addresses without requiring data communication network interaction.
-
-
67. A system for accelerating Internet browsing comprising:
-
user computer operating under control of an Internet browser application program, wherein said user computer has associated therewith a data cache of resources previously accessed by said Internet browser and wherein said Internet browser has associated therewith a first library of software calls;
a second library of software calls logically disposed between said Internet browser and said first library of software calls in a manner such that said Internet browser interacts with the Internet through said second library, wherein said second library operates to emulate Internet exchanges and thereby immediately retrieve desired resources from said data cache when available in said data cache and wherein said second library operates to cause said first library to conduct Internet exchanges to retrieve desired resources when not available in said data cache. - View Dependent Claims (68, 69, 70, 71, 72)
software for referencing said desired resources to determine resources not currently indicated as desired which are likely to be desired resources in the future;
software for referencing information available at said user computer to determine at least one most likely to be desired resource of said resources not currently indicated as desired; and
software for interacting with said first library to cause said first library to pre-retrieve ones of said resources not currently indicated as desired, wherein said software causes said first library to pre-retrieve said at least one most likely to be desired resource before other ones of said resources not currently indicated as desired.
-
-
71. The system of claim 67, further comprising:
software for identifying advertisement resources of said desired resources and causing said first library to not retrieve said identified advertisement resources when conducting said Internet exchanges to retrieve desired resources not available in said data cache.
-
72. The system of claim 67, further comprising:
-
software for classifying particular resources associated with said presently selected resource as a particular type of resource; and
software for causing said first library to avoid communication of data packets of said resources of said particular type.
-
-
73. A method for retrieving information over a network prior to the information being selected for use by a user of a processor-based system, said processor-based system coupled to a data communication network having a plurality of network devices coupled thereto, said method comprising:
-
identifying information available from ones of said network devices associated with presently selected information;
determining said information associated with said presently selected information most likely to be selected;
retrieving from said data communication network information associated with said presently selected information, wherein said identified information determined to be most likely to be selected is retrieved before other identified information. receiving at a user interface a selection of said retrieved information associated with said presently selected information; and
emulating network communication in providing said retrieved information selected in said receiving step to said user interface. - View Dependent Claims (74, 75, 76, 77)
presenting said retrieved information selected in said receiving step substantially immediately to said user. -
75. The method of claim 73 wherein said determining step comprises determining identified information which has been previously accessed by said user.
-
76. The method of claim 73 wherein said retrieving step is performed as a background task in said processor-based system.
-
77. The method of claim 73 wherein said retrieving step further comprises:
-
identifying identified information previously accessed by said user; and
retrieving said identified information previously accessed by said user from said data communication network only if said information has been changed since previously accessed by said user.
-
-
Specification