Dynamic addressing (DA) using a centralized DA manager
First Claim
1. A portable communication device comprising:
- a device processor;
an upgrade client that automatically detects a remote change of any embedded software components; and
a dynamic addressing manager associated with a plurality of software components and coupled to the device processor, the dynamic addressing manager stored in device memory and including one or more pairs of elements in a table including statements corresponding to associations between the plurality of software components which include an update corresponding to a change to a location of a function of an embedded software component, wherein each of the pairs of elements forms an association between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager associating the plurality of software components during execution of the code using the pairs of elements including changes to software component associations, wherein the pairs of elements include symbols defined by a linker application,the dynamic addressing manager to receive requests including function call requests from the plurality of software components and use the statements to direct a function call from one embedded software component to a called function of another embedded software component and use information of the remote change to update information of one or more of the pair of elements that include a first statement identifying an original function and an associated embedded software component and a second statement identifying a new function and an associated embedded software component as part of managing associations between the embedded software components using the remote change information, the dynamic addressing manager to rout references to and from the embedded software components instead of directly between the embedded software components during execution of the code.
5 Assignments
0 Petitions
Accused Products
Abstract
Dynamic Addressing (DA) is provided that uses a Centralized DA Manager to manage function calls, global variable, and constant variable references among components of software code. The DA Manager is generated during the process of linking the components and is loaded along with the code into client device memory. References from one component to another are stored in the DA Manager along with the address of each component. In an embodiment, the DA Manager includes linker-defined symbols stored in fixed addresses, such that the linker-defined symbols consistently provide the current address for data requested from another component. Changes to a component during file upgrades that result in location changes of the component in memory are recorded by the DA Manager, thereby maintaining the integrity of references to the component present in the code.
121 Citations
49 Claims
-
1. A portable communication device comprising:
-
a device processor; an upgrade client that automatically detects a remote change of any embedded software components; and a dynamic addressing manager associated with a plurality of software components and coupled to the device processor, the dynamic addressing manager stored in device memory and including one or more pairs of elements in a table including statements corresponding to associations between the plurality of software components which include an update corresponding to a change to a location of a function of an embedded software component, wherein each of the pairs of elements forms an association between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager associating the plurality of software components during execution of the code using the pairs of elements including changes to software component associations, wherein the pairs of elements include symbols defined by a linker application, the dynamic addressing manager to receive requests including function call requests from the plurality of software components and use the statements to direct a function call from one embedded software component to a called function of another embedded software component and use information of the remote change to update information of one or more of the pair of elements that include a first statement identifying an original function and an associated embedded software component and a second statement identifying a new function and an associated embedded software component as part of managing associations between the embedded software components using the remote change information, the dynamic addressing manager to rout references to and from the embedded software components instead of directly between the embedded software components during execution of the code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
using a device processor and; organizing code stored in a device memory of a client device into a plurality of components; automatically detecting a remote Chan e of any embedded components; identifying one or more references included in each of the plurality of components, wherein each reference is a reference to one or more other components of the code; generating a dynamic addressing manager component that includes one or more address direction entries including changes to reference links, wherein each of the address direction entries includes two fields that form a program link between each identified reference in a component and the other component corresponding to the identified reference including statements corresponding to associations between the plurality of components which include an update corresponding to a change to a location of a function of an embedded component, using the dynamic addressing manager component to receive requests including function call requests from the plurality of components and use the statements to direct a function call from one embedded component to a called function of another embedded component including using information of the remote change to update information of one or more of the address direction entries that include a first statement identifying an original function and an associated embedded component and a second statement identifying a new function and an associated embedded component as part of managing associations between the embedded components using the remote change information, the dynamic addressing manager component to rout references to and from the embedded components instead of directly between the embedded components during execution of the code; and linking the plurality of components using the address direction entries of the dynamic addressing manager component during execution of the code. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system comprising:
-
a first device including a first upgrade component that generates upgrade files, wherein the upgrade files include at least one of information to repair errors in electronic files and information to add functionality to the electronic files and automatically detects a remote change of any embedded components; and a mobile communication device comprising a second upgrade component, a dynamic addressing manager, and a plurality of software components, the dynamic addressing manager including one or more links and statements corresponding to associations between the plurality of software components which include an update corresponding to a change to a location of a function of an embedded software component, wherein each link forms a program link between each identified reference in a component and another of the software components corresponding to the identified reference, the dynamic addressing manager linking the plurality of software components during execution of the code using the links and including changes to reference links, and wherein the links comprise one or more linker-defined symbols, the dynamic addressing manager to receive requests including function call requests from the plurality of software components and use the statements to direct a function call from one embedded software component to a called function of another embedded software component and use information of the remote change to update information of one or more of the statements that include a first statement identifying an original function and an associated embedded software component and a second statement identifying a new function and an associated embedded software component as part of managing associations between the embedded software components using the remote change information, the dynamic addressing manager to rout references to and from the embedded software components instead of directly between the embedded software components during execution of the code. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A mobile communication device comprising:
-
means for organizing code stored in a device memory of a client device into a plurality of components; means for automatically detecting a remote change of any embedded components; means for identifying one or more references included in each of the plurality of components including statements corresponding to associations between the plurality of components which include an update corresponding to a change to a location of a function of an embedded component, wherein each reference is a reference to one or more other components of the code; means for generating a dynamic addressing manager component that includes one or more links including changes to reference links, wherein each link forms a program link between each identified reference in a component and the other component corresponding to the identified reference, the dynamic addressing manager component to receive requests including function call requests from the plurality of components and use the statements to direct a function call from one embedded software component to a called function of another embedded software component including using information of the remote change to update information of one or more of the statements that include a first statement identifying an original function and an associated embedded software component and a second statement identifying a new function and an associated embedded software component as part of managing associations between the embedded software components using the remote change information, the dynamic addressing manager component to rout references to and from the embedded software components instead of directly between the embedded software components during execution of the code; and means for linking the plurality of components using the links of the dynamic addressing manager component during execution of the code, wherein the links include one or more linker-defined symbols. - View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A non-transitory computer-readable medium including executable instructions which, when executed in a processing system, link software components in a portable device by:
-
organizing code stored in a device memory of a client device into a plurality of components; automatically detecting a remote change of any embedded components;
identifying one or more references included in each of the plurality of components, wherein each reference is a reference to one or more other components of the code;generating a dynamic addressing manager component that includes one or more links including changes to reference links, wherein each link forms a program link between each identified reference in a component and the other component corresponding to the identified reference including statements corresponding to associations between the plurality of components which include an update corresponding to a change to a location of a function of an embedded component, using the dynamic addressing manager component to receive requests including function call requests from the plurality of components and use the statements to direct a function call from one embedded component to a called function of another embedded component and use information of the remote change to update information of one or more of the statements that include a first statement identifying an original function and an associated embedded component and a second statement identifying a new function and an associated embedded component as part of managing associations between the embedded components using the remote change information, the dynamic addressing manager component to rout references to and from the embedded components instead of directly between the embedded components during execution of the code; and linking the plurality of components using the links of the dynamic addressing manager component during execution of the code, wherein the links include a plurality of linker-defined symbols. - View Dependent Claims (49)
-
Specification