Claims Analysis
Total Claims: 39
Claim 1
Independent Claim
258 words
An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 2
Dependent Claim
258 words
An article of manufacture comprising a computer useable medium having computer readable program code means embodied therein for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 3
Dependent Claim
51 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect: for each interface reference IR i , storing in memory a second identifier that identifies said object OI.
Claim 4
Dependent Claim
57 words
An article of manufacture as recited in claim 1, wherein for each class C i of objects, said descriptor data corresponding to said class C i stored in memory includes a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by said class C i .
Claim 5
Dependent Claim
62 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect: for each object O, storing in memory a third identifier for identifying a class method table within said descriptor data associated with a class corresponding to said object O.
Claim 6
Dependent Claim
32 words
An article of manufacture as recited in claim 1, wherein said descriptor data corresponding to said class C i is created and stored in memory when said class C i is declared.
Claim 7
Dependent Claim
74 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect: creating and storing in memory code for generating said first identifier corresponding to said interface reference IR i upon detection of a statement wherein said object OI is assigned to said interface reference IR i corresponding to said interface declaration ID.
Claim 8
Dependent Claim
70 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect: creating and storing in memory code for generating said first identifier corresponding to said interface IR i upon detection of a statement wherein an interface reference IR j is assigned to said interface reference IR i .
Claim 9
Dependent Claim
138 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means, wherein when a method M is invoked via a reference to an interface declaration ID M , said computer readable program code means causes a computer to effect: (i) retrieving from memory said second identifier associated with the interface declaration ID M , wherein said second identifier identifies said interface method table corresponding to said interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; and (iv) invoking said method M using the retrieved entry.
Claim 10
Dependent Claim
160 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means, wherein when a method M is invoked via a reference to an interface declaration ID M , said computer readable program code means causes a computer to effect: (i) retrieving from memory said second identifier associated with the interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; (iv) invoking said method M using the retrieved entry; (v) retrieving from memory said third identifier associated with said interface declaration IDM, wherein said third identifier identifies an object OM corresponding to said interface declaration ID M ; and (vi) passing said retrieved third identifier to said method M.
Claim 11
Dependent Claim
101 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means, wherein for each class C i of objects, the computer readable program code means for causing a computer to effect: storing in memory a class-interface cast table comprising one or more entries each associated with a given interface I1 implemented by said class C i , wherein each entry identifies offset from a start address of said class method table for said class C i to an interface table corresponding to said interface I1.
Claim 12
Dependent Claim
118 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means, wherein for each class C i of objects, the computer readable program code means for causing a computer to effect: storing in memory an interface-interface cast table for each interface I1 implemented by said class C i , wherein said interface-interface cast table for said interface I1 comprises one or more entries each associated with an interface I2 extended by said interface I1, wherein each entry identifies offset from a start address of said interface method table for said interface I1 to an interface method table corresponding to said interface I2.
Claim 13
Dependent Claim
96 words
An article of manufacture as recited in claim 1, the computer readable program code means in said article of manufacture further comprising computer readable program code means, wherein for each interface, the computer readable program code means for causing a computer to effect: storing in memory a function table corresponding to a given interface, wherein said function table stores one or more entries each associated with a given method of said given interface, wherein each entry identifies offset of an entry corresponding to said given method within said interface method table corresponding to said given interface.
Claim 14
Dependent Claim
247 words
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, said computer implemented method comprising the steps of: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 15
Dependent Claim
247 words
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for representing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, said computer implemented method comprising the steps of: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 16
Dependent Claim
32 words
A program storing device as recited in claim 13, said method steps further comprising: for each interface reference IR i , storing in memory a second identifier that identifies said object OI.
Claim 17
Dependent Claim
57 words
A program storing device as recited in claim 13, wherein, for each class C i of objects, said descriptor data corresponding to said class C i stored in memory includes a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by said class C i .
Claim 18
Dependent Claim
44 words
A program storing device as recited in claim 13, further comprising the step of: (c) for each object O, storing in memory a third identifier for identifying a class method table within said descriptor data associated with a class corresponding to said object O.
Claim 19
Dependent Claim
114 words
A program storing device as recited in claim 16, further comprising the step of: (d) when a method M is invoked via a reference to an interface declaration ID M , (i) retrieving from memory said second identifier associated with the interface declaration ID M , wherein said second identifier identifies said interface method table corresponding to said interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; and (iv) invoking said method M using the retrieved entry.
Claim 20
Dependent Claim
136 words
A program storing device as recited in claim 16, further comprising the step of: (d) when a method M is invoked via a reference to an interface declaration ID M , (i) retrieving from memory said second identifier associated with the interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; (iv) invoking said method M using the retrieved entry; (v) retrieving from memory said third identifier associated with said interface declaration IDM, wherein said third identifier identifies an object OM corresponding to said interface declaration ID M ; and (vi) passing said retrieved third identifier to said method M.
Claim 21
Dependent Claim
32 words
A program storing device as recited in claim 13, wherein said descriptor data corresponding to said class C i is created and stored in memory when said class C i is declared.
Claim 22
Dependent Claim
52 words
A program storing device as recited in claim 13, wherein code for generating said first identifier corresponding to said interface reference IR i is created and stored in memory upon detection of a statement wherein said object OI is assigned to said interface reference IR i corresponding to said interface declaration ID.
Claim 23
Dependent Claim
47 words
A program storing device as recited in claim 13, wherein code for generating said first identifier corresponding to said interface IRi is created and stored in memory upon detection of a statement wherein an interface reference IR j is assigned to said interface reference IR i .
Claim 24
Dependent Claim
75 words
A program storing device as recited in claim 13, further comprising the step of: for each class C i of objects, storing in memory a class-interface cast table comprising one or more entries each associated with a given interface I1 implemented by said class C i , wherein each entry identifies offset from a start address of said class method table for said class C i to an interface table corresponding to said interface I1.
Claim 25
Dependent Claim
92 words
A program storing device as recited in claim 13, further comprising the step of: for each class C i of objects, storing in memory an interface-interface cast table for each interface I1 implemented by said class C i , wherein said interface-interface cast table for said interface I1 comprises one or more entries each associated with an interface I2 extended by said interface I1, wherein each entry identifies offset from a start address of said interface method table for said interface I1 to an interface method table corresponding to said interface I2.
Claim 26
Dependent Claim
70 words
A program storing device as recited in claim 13, further comprising the step of: for each interface, storing in memory a function table corresponding to a given interface, wherein said function table stores one or more entries each associated with a given method of said given interface, wherein each entry identifies offset of an entry corresponding to said given method within said interface method table corresponding to said given interface.
Claim 27
Dependent Claim
243 words
A computer program product comprising a computer useable medium having computer readable program code means embodied therein for causing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, said computer implemented method comprising the steps of: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 28
Dependent Claim
243 words
A computer program product comprising a computer useable medium having computer readable program code means embodied therein for causing interface references in an object oriented language, wherein objects correspond to one or more classes, a class is capable of implementing one or more interfaces, an interface is associated with a set of methods, said object oriented language provides for inheritance of said interfaces whereby a first interface may extend one or more other interfaces, and an interface reference IRi is associated with an interface ID IRi and with an object OI corresponding to a class that implements the interface ID IRi, said computer implemented method comprising the steps of: (a) for each class Ci of objects, storing in memory descriptor data corresponding to said class Ci, wherein said descriptor data includes: for each interface declaration IDi implemented by said class Ci, an interface method table containing one of an implementation of a method declared by said interface declaration IDi and an implementation of a method declared by an interface declaration extended by said interface declaration IDi; and (b) for each interface IRi, wherein interface reference IRi is associated with an interface declaration ID IRi and corresponds to a given object OI, storing in memory a first identifier that identifies an interface method table corresponding to the interface ID IRi within the descriptor data for the class corresponding to the object OI, and storing in memory a second identifier that identifies said object OI.
Claim 29
Dependent Claim
32 words
A computer program product as recited in claim 25, further comprising the step of: for each interface reference IR i , storing in memory a second identifier that identifies said object OI.
Claim 30
Dependent Claim
57 words
A computer program product as recited in claim 25, wherein, for each class C i of objects, said descriptor data corresponding to said class C i stored in memory includes a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by said class C i .
Claim 31
Dependent Claim
44 words
A computer program product as recited in claim 27, further comprising the step of: (c) for each object O, storing in memory a third identifier for identifying a class method table within said descriptor data associated with a class corresponding to said object O.
Claim 32
Dependent Claim
114 words
A computer program product as recited in claim 28, further comprising the step of: (d) when a method M is invoked via a reference to an interface declaration ID M , (i) retrieving from memory said second identifier associated with the interface declaration ID M , wherein said second identifier identifies said interface method table corresponding to said interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; and (iv) invoking said method M using the retrieved entry.
Claim 33
Dependent Claim
32 words
A computer program product as recited in claim 25, wherein said descriptor data corresponding to said class C i is created and stored in memory when said class C i is declared.
Claim 34
Dependent Claim
52 words
A computer program product as recited in claim 25, wherein code for generating said first identifier corresponding to said interface reference IR i is created and stored in memory upon detection of a statement wherein said object OI is assigned to said interface reference IR i corresponding to said interface declaration ID.
Claim 35
Dependent Claim
47 words
A computer program product as recited in claim 25, wherein code for generating said first identifier corresponding to said interface IRi is created and stored in memory upon detection of a statement wherein an interface reference IR j is assigned to said interface reference IR i .
Claim 36
Dependent Claim
134 words
The computer implemented method of claim 26, further comprising the step of: (d) when a method M is invoked via a reference to an interface declaration ID M , (i) retrieving from memory said second identifier associated with the interface declaration ID M ; (ii) generating an index corresponding to said method M based upon said second identifier retrieved from memory, wherein said index identifies an entry in said interface method table corresponding to said method M; (iii) retrieving said entry identified by said index; (iv) invoking said method M using the retrieved entry; (v) retrieving from memory said third identifier associated with said interface declaration IDM, wherein said third identifier identifies an object OM corresponding to said interface declaration ID M ; and (vi) passing said retrieved third identifier to said method M.
Claim 37
Dependent Claim
73 words
The computer implemented method of claim 25, further comprising the step of: for each class C i of objects, storing in memory a class-interface cast table comprising one or more entries each associated with a given interface I1 implemented by said class C i , wherein each entry identifies offset from a start address of said class method table for said class C i to an interface table corresponding to said interface I1.
Claim 38
Dependent Claim
90 words
The computer implemented method of claim 25, further comprising the step of: for each class C i of objects, storing in memory an interface-interface cast table for each interface I1 implemented by said class C i , wherein said interface-interface cast table for said interface I1 comprises one or more entries each associated with an interface I2 extended by said interface I1, wherein each entry identifies offset from a start address of said interface method table for said interface I1 to an interface method table corresponding to said interface I2.
Claim 39
Dependent Claim
68 words
The computer implemented method of claim 25, further comprising the step of: for each interface, storing in memory a function table corresponding to a given interface, wherein said function table stores one or more entries each associated with a given method of said given interface, wherein each entry identifies offset of an entry corresponding to said given method within said interface method table corresponding to said given interface.