Java data manager for embedded device
First Claim
1. A data manager which manages global data in an embedded device, said embedded device comprising a hardware independent processor which processes code written in a hardware independent language, said hardware independent processor installed and running on said embedded device, an interface for communicating with a client, and a data cache for storing said global data, comprising:
- a data class list having entries each entry comprising a data class identifier which identifies a data class object currently loaded in said embedded device;
a data class loader method which loads a data class received from said client via said interface, creates a new data class object for said data class, stores said new data class object in said data cache, and adds a new entry to said data class list to identify said new data class object as being a currently loaded data class object that is currently loaded in said embedded device; and
a data class instance list having entries each entry comprising an instance identifier which identifies a data object, said data object being an instance of one of said currently loaded data class objects that is currently loaded in said embedded device.
3 Assignments
0 Petitions
Accused Products
Abstract
A data manager manages global data within a Java Virtual Machine (JVM) installed and running in an embedded device. The data manager maintains a data class list that stores data class identifiers associated with each data class object currently loaded and cached in a data cache in the embedded device. The data manager specifies a universal data manager API, which includes a data class loader method, a data object creation method, get and put data methods which allow manipulation of existing data objects, and an unload method which unloads cached data objects from the embedded device. The data manager comprises or is responsive to a memory management handler which detects low- or out-of-memory conditions and which selects one or more data class objects to be unloaded from the data cache.
158 Citations
17 Claims
-
1. A data manager which manages global data in an embedded device, said embedded device comprising a hardware independent processor which processes code written in a hardware independent language, said hardware independent processor installed and running on said embedded device, an interface for communicating with a client, and a data cache for storing said global data, comprising:
-
a data class list having entries each entry comprising a data class identifier which identifies a data class object currently loaded in said embedded device;
a data class loader method which loads a data class received from said client via said interface, creates a new data class object for said data class, stores said new data class object in said data cache, and adds a new entry to said data class list to identify said new data class object as being a currently loaded data class object that is currently loaded in said embedded device; and
a data class instance list having entries each entry comprising an instance identifier which identifies a data object, said data object being an instance of one of said currently loaded data class objects that is currently loaded in said embedded device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
a data object creation method which creates a new instance of one of said currently loaded data class objects identified in said data class list and adds a new instance identifier which identifies said new instance to said data class instance list.
-
-
3. A data manager in accordance with claim 2, comprising:
a get data method which is responsive to an instance identifier argument to retrieve data associated with said data class object instance that is identified by said instance identifier argument, wherein said instance identifier argument comprises one of said instance identifiers existing in said data class instance list.
-
4. A data manager in accordance with claim 2, comprising:
a put data method which is responsive to an instance identifier argument and a data value to set said data associated with said data class object instance that is identified by said instance identifier argument to said data value, wherein said instance identifier argument comprises one of said instance identifiers existing in said data class instance list.
-
5. A data manager in accordance with claim 1, comprising:
an unload method which is responsive to a data class identifier argument to remove said data class object identified by said data class identifier argument from said data cache and to remove said data class identifier argument from said data class list, wherein said data class identifier argument comprises one of said data class identifiers existing in said data class list.
-
6. A data manager in accordance with claim 5, comprising:
a memory management handler responsive to a detection of a low- or out-of-memory condition which selects one of said data class objects cached in said data cache to be unloaded, and causes said selected data class object to be unloaded from said data cache.
-
7. A data manager in accordance with claim 1, wherein:
said data class instance list is distributed across and stored within each of said data class objects identified in said data class list such that each data class object maintains only that portion of said data class instance list that contains data class instance identifiers identifying data class instances of a class defined by said corresponding data class object.
-
8. An embedded device, comprising:
-
a hardware independent processor which processes code written in a hardware independent language, said hardware independent processor installed and running on said embedded device;
an interface for communicating with a client;
a data cache for storing global data objects;
a data manager comprising;
a data class list having entries each entry of which identifies a data class object currently loaded in said embedded device;
a data class instance list having entries each entry comprising an instance identifier which identifies a data object, said data object being an instance of one of said currently loaded data class objects; and
a data class loader method which loads a data class received from said client via said interface, creates a new data class object for said data class, stores said new data class object in said data cache, and adds a new entry to said data class list to identify said new data class object as being loaded in said data cache. - View Dependent Claims (9, 10, 11, 12, 13)
said data manager comprises;
a data object creation method which creates a new instance of one of said currently loaded data class objects identified in said data class list and adds a new instance identifier which identifies said new instance to said data class instance list.
-
-
10. An embedded device in accordance with claim 9, wherein:
-
said data manager comprises;
a get data method which is responsive to an instance identifier argument to retrieve data associated with said data class object instance that is identified by said instance identifier argument, wherein said instance identifier argument comprises one of said instance identifiers existing in said data class instance list.
-
-
11. An embedded device in accordance with claim 9, wherein:
-
said data manager comprises;
a put data method which is responsive to an instance identifier argument and a data value to set said data associated with said data class object instance that is identified by said instance identifier argument to said data value, wherein said instance identifier argument comprises one of said instance identifiers existing in said data class instance list.
-
-
12. An embedded device in accordance with claim 8, wherein:
-
said data manager comprises;
an unload method which is responsive to a data class identifier argument to remove said data class object identified by said data class identifier argument from said data cache and to remove said data class identifier argument from said data class list, wherein said data class identifier argument comprises one of said data class identifiers existing in said data class list.
-
-
13. An embedded device in accordance with claim 8, comprising:
a memory management handler responsive to a detection of a low- or out-of-memory condition which selects one of said data class objects cached in said data cache to be unloaded, and causes said selected data class object to be unloaded from said data cache.
-
14. A method for managing data in an embedded device, said embedded device comprising a data cache for storing data, a data class list for storing data class entries each comprising an identifier which identifies a data class currently loaded in said data cache;
- and a data class instance list having data class instance entries each comprising an instance identifier which identifies a data object, said data object being an instance of one of said currently loaded data class objects, comprising the steps of;
loading a data class into said data cache;
adding an identifier which identifies said data class to said data class list;
creating a new instance of one of said data classes currently loaded in said data class;
loading said new instance into said data cache; and
adding a new instance identifier which identifies said new instance to said data class instance list. - View Dependent Claims (15, 16, 17)
retrieving data from one of said data class object instances that is identified in said data class instance list.
- and a data class instance list having data class instance entries each comprising an instance identifier which identifies a data object, said data object being an instance of one of said currently loaded data class objects, comprising the steps of;
-
16. A method in accordance with claim 14, comprising the steps of:
-
obtaining a data value;
setting a data class object instance that is identified in said data class instance list to said data value.
-
-
17. A method in accordance with claim 14, comprising the steps of:
-
removing a data class object from said data cache; and
removing said data class identifier which identifies said data class object from said data class list.
-
Specification