Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application
First Claim
1. In a system comprising a client connected to a server through a network, a method for sending objects from the server to the client, the method comprising:
- receiving a request from a client for a particular object of interest, in response to user input received at an application executing at said client;
determining at runtime dependent objects for the particular object, said dependent objects comprising those objects which are required for use of the particular object by the client;
determining prefetch objects for the particular object, said prefetch objects comprising those objects which are likely to be used by the client upon use of the particular object and which are determined, based at least in part, on an object-based prefetch primitive present in said application, which operates in response to said user input occurring at runtime;
sending to the client said particular object requested and said determined dependent objects; and
selectively sending to the client said determined prefetch objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A client/server system is described incorporating methods for managing object availability through semantic object "load sets." By associating a particular "load set" with each object which might be requested by a client, improved object fetching and cache management is provided. Methods are described for managing object fetching and discarding on a per object basis, not on a per page basis. Each "semantic object" is packaged in a "storable," which incorporates dependency lists indicating the context in which the object is to be used (i.e., with which dependent objects). Additionally, a program developer can specify that the set of behaviors is defined at runtime, using "prefetch" primitives provided by the system. This allows an executing application to prefetch objects based on the then-existing dynamics of the system. With this approach, object availability in a distributed object environment (e.g., Internet) is improved.
-
Citations
28 Claims
-
1. In a system comprising a client connected to a server through a network, a method for sending objects from the server to the client, the method comprising:
-
receiving a request from a client for a particular object of interest, in response to user input received at an application executing at said client; determining at runtime dependent objects for the particular object, said dependent objects comprising those objects which are required for use of the particular object by the client; determining prefetch objects for the particular object, said prefetch objects comprising those objects which are likely to be used by the client upon use of the particular object and which are determined, based at least in part, on an object-based prefetch primitive present in said application, which operates in response to said user input occurring at runtime; sending to the client said particular object requested and said determined dependent objects; and selectively sending to the client said determined prefetch objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. In a system comprising a client connected to a server, a method for object-based caching of objects on the client, the method comprising:
-
establishing at the client a hierarchy of objects to preferentially keep in memory, said objects being received from the server, in response to user input received at an application executing at said client; experiencing a low memory condition at the client; and in response to said low memory condition and based at least in part on an object-based prefetch primitive present in said application that operates in response to said user input occurring at runtime, performing a selected one of; if an object is not likely to be used at the client, discarding the object from memory, if an object is likely to be used at the client, swapping the object out to a mass storage device local to the client, and if an object is certain to be used at the client, maintaining the object in memory at the client. - View Dependent Claims (19, 20, 21, 22)
-
-
23. An interactive television system comprising:
-
a television device having a set top box connected to a host, in response to user input received at an application executing at said client; means for requesting that a particular object be sent from the host to the set top box, said particular object including a list of dependent objects and a list of prefetch objects, said dependent objects comprising those objects required for use of said particular object, said prefetch objects comprising objects likely to be required upon use of the particular object; means for sending said particular object from the host to the set top box, said means sending dependent objects together with the requested particular objects; and means for selectively sending said prefetch objects from said host to said set top box, said means operating based at least in part on an object-based prefetch primitive present in said application that operates in response to said user input occurring at runtime. - View Dependent Claims (24, 25, 26, 27)
-
-
28. In a system comprising a client connected to a server through a network, a method for sending objects from the server to the client, the method comprising:
-
receiving a request from a client for a particular object of interest, in response to user input received at an application executing at said client; determining related objects for the particular object based at least in part on an object-based prefetch primitive present in said application that operates in response to said user input occurring at runtime, said related objects comprising those objects which are required or which may be required upon use of the particular object by the client; sending to the client a name identifying said particular object requested and names identifying said determined related objects; determining, based on said names, which objects currently reside at the client; and selectively sending from the server to the client of those objects determined to not reside at the client.
-
Specification