Method and apparatus for incremental download from server to client
Abstract
A method and system for transferring objects between computers, especially a server and a device in a Java environment, is provided. A server connected to the device interrogates the device to determine whether the device has the available resources to accept a download, and to determine if any of objects included in the download are already resident on the device. Using a gateway object on the device, and a gateway managed-object on the server, the server passes an archive of the necessary objects, not presently available on the device, to the gateway via the gateway managed-object. The gateway then instructs a persistent storage repository on the device to commit the archive to persistent storage. A flag is set at the start of the archive-committing process, such that if the device loses power during the archive-committing process, upon re-initialization of the device, the device can determine that the archive-committing process failed and will instruct the persistent storage to free-up storage area used during the archive-committing process. The transferal of objects can then be recommenced once the server and device reestablish communication. The present invention can provide an effective means to ensure a stable recovery of the device upon re-initialization, should the file transfer and/or archive-commit process fail due to a power failure to the device. Further, the invention can increase efficient use of device resources by not loading redundant components on the device and can reduce bandwidth requirements and/or download times as redundant information is not transferred.
Claims
exact text as granted — not AI-modifiedWe claim:
1 . A method for transferring at least a portion of a group of objects to a first computer from a second computer, said first computer having a central processing unit, random access memory and a persistent storage means, said first and second computers connected by a communication medium, said method comprising the steps of:
interrogating said first computer for configuration information; determining required objects for transfer based on an operation that considers, at least in part, said configuration information and said group of objects; packaging said required objects into an archive; transferring said archive to said random access memory; setting an archive-commit flag on; committing said archive to said persistent storage; setting said archive commit flag off; setting a list-commit flag on; committing a list of said required objects to said persistent storage; setting said list-commit flag off; and activating said required objects in said random access memory.
2 . The method according to claim 1 wherein said objects are JavaBeans beans based on the JavaBeans specification.
3 . The method according to claim 1 wherein said archive is a Java ARchive.
4 . The method according to claim 1 wherein said archive is committed to a repository area of said persistent storage.
5 . The method according to claim 1 wherein said list is committed to a registry area of said persistent storage.
6 . A method in the initializing a device comprising the steps of:
determining whether an archive was being committed to persistent storage when said device was powered-off; and instructing said persistent storage to clear the portion of said archive committed to persistent storage when said step of determining establishes that an archive was being committed when said device was powered-off.
7 . The method according to claim 4 wherein said archive is a Java Archive of JavaBean objects.
8 . The method according to claim 1 wherein said archive is committed to a repository area of said persistent storage.
9 . A method in the initialization of a device comprising the steps of:
determining whether a list of objects from an archive was being committed to a registry area of persistent storage when said device was powered-off; and examining said archive to determine a remaining list of objects to be committed to said registry area when said step of determining establishes that a list was being committed when said device was powered-off; and committing the remainder of said list established from said examining step.
10 . The method according to claim 6 wherein said archive is a Java Archive of JavaBean objects.
11 . The method according to claim 6 wherein said archive is committed to a repository area of said persistent storage.
12 . A system for transferring at least a portion of a group of objects between computers, comprising:
a first computer having a central processing unit, random access memory, a persistent storage repository for storing archives of objects, a persistent storage registry for storing a list of said objects, and a first network interface means, said first computer operable to execute said objects, and operable to execute a gateway object having privileges to interact with said repository and said register; a second computer having a second interface means connectable to said first computer via a communication medium, said second computer having a file storage means for storing a group of objects, said second computer being operable to execute an application and a gateway managed object, said gateway managed object being a proxy for said gateway object so that said application can interrogate said gateway object for configuration information of said device and transfer an archive of at least a portion of said group via said gateway managed object to said gateway object, said archive packaged based on an operation that considers, at least in part, said configuration information; such that when said gateway object receives said archive, said gateway object instructs said repository to commit said archive to said repository and a list of objects in said archive to said registry, said device setting at least one flag during said commission of said archive and said list to allow device recovery upon initialization if said device loses power during said commission.
13 . The system according to claim 12 wherein said objects are JavaBeans beans based on the JavaBeans specification.
14 . The system according to claim 12 wherein said archive is a Java ARchive.
15 . The system according to claim 12 wherein said configuration information includes an inventory of available random access memory on said device.
16 . The system according to claim 12 wherein said configuration information includes an inventory of available persistent storage on said device.
17 . The system according to claim 12 wherein said configuration information includes a list of objects from said group of objects which are already resident in said device.
18 . The system according to claim 12 wherein said gateway managed object is determined using the mogen tool from the Java Dynamic Management Kit.
19 . The system according to claim 12 wherein said first computer is a Java-based intelligent device and said second computer is a Java-based network computing server.
20 . The system according to claim 12 including a first flag set during said commission of said archive and a second flag set during said commission of said list.Join the waitlist — get patent alerts
Track US2003046442A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.