IP Library Granted Patent US 7,444,631
Granted Patent B2
US 7,444,631 · App. 10/997,359 · Granted Oct 28, 2008

Token-based linking

Assignee: Sun Microsystems, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,444,631
App. No.
10/997,359
Granted
Oct 28, 2008
Kind
B2
Abstract

A system links architecture neutral code downloaded to a resource constrained computer. The code may be separated into one or more packages having one or more referenceable items. The system maps the one or more referenceable items into corresponding one or more tokens; orders the tokens to correspond to a run-time mode; downloads the packages to the resource constrained computer; and links the packages into an executable code using the ordered tokens.

Claims (85)

1. A method for enabling a small virtual machine suitable for execution on a resource-constrained device, the method comprising:

performing a processing function on a resource-rich device;

recording a result of said performing; and

communicating said result to a resource-constrained device using one or more tokens, said resource-constrained device configured to use said one or more tokens in lieu of performing said processing function.

2. The method of claim 1 wherein said processing function comprises identifying a location of one or more static fields.

3. The method of claim 2 wherein said one or more static fields comprises one or more external static fields.

4. The method of claim 3 wherein said processing function comprises identifying a location of one or more static methods.

5. The method of claim 4 wherein said one or more static methods comprises one or more internal static methods.

6. The method of claim 4 wherein said one or more static methods comprises one or more external static methods.

7. The method of claim 1 wherein said one or more static fields comprises one or more internal static fields.

8. The method of claim 1 wherein said processing function comprises identifying a location of one or more classes.

9. The method of claim 8 wherein said one or more classes comprises one or more internal classes.

10. The method of claim 8 wherein said one or more classes comprises one or more external classes.

11. The method of claim 1 wherein said processing function comprises identifying a location of one or more instance fields within a class instance, said one or more tokens comprising one or more indices.

12. The method of claim 1 wherein said processing function comprises identifying a location of one or more virtual methods within a class virtual method table, said one or more tokens comprising one or more indices.

13. The method of claim 1 wherein said processing function comprises identifying a location of one or more interface methods within a class interface method table, said one or more tokens comprising one or more indices.

14. The method of claim 1 wherein said processing function comprises identifying a location of one or more static public items that can be exported.

15. An apparatus for enabling a small virtual machine suitable for execution on a resource-constrained device, the apparatus comprising:

means for performing a processing function on a resource-rich device;

means for recording a result of said performing; and

means for communicating said result to a resource-constrained device using one or more tokens, said resource-constrained device configured to use said one or more tokens in lieu of performing said processing function.

16. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more static fields.

17. The apparatus of claim 16 wherein said one or more static fields comprises one or more internal static fields.

18. The apparatus of claim 16 wherein said one or more static fields comprises one or more external static fields.

19. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more static methods.

20. The apparatus of claim 19 wherein said one or more static methods comprises one or more internal static methods.

21. The apparatus of claim 19 wherein said one or more static methods comprises one or more external static methods.

22. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more classes.

23. The apparatus of claim 22 wherein said one or more classes comprises one or more internal classes.

24. The apparatus of claim 22 wherein said one or more classes comprises one or more external classes.

25. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more instance fields within a class instance, said one or more tokens comprising one or more indices.

26. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more virtual methods within a class virtual method table, said one or more tokens comprising one or more indices.

27. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more interface methods within a class interface method table, said one or more tokens comprising one or more indices.

28. The apparatus of claim 15 wherein said processing function comprises identifying a location of one or more static public items that can be exported.

29. A method for enabling a small virtual machine suitable for execution on a resource-constrained device, the method comprising:

receiving one or more tokens comprising a result of performing a processing function on a resource-rich device; and

using said one or more tokens on said resource-constrained device in lieu of performing said processing function.

30. The method of claim 29 wherein said processing function comprises identifying a location of one or more static fields.

31. The method of claim 30 wherein said one or more static fields comprises one or more internal static fields.

32. The method of claim 30 wherein said one or more static fields comprises one or more external static fields.

33. The method of claim 29 wherein said processing function comprises identifying a location of one or more static methods.

34. The method of claim 33 wherein said one or more static methods comprises one or more internal static methods.

35. The method of claim 33 wherein said one or more static methods comprises one or more external static methods.

36. The method of claim 29 wherein said processing function comprises identifying a location of one or more classes.

37. The method of claim 36 wherein said one or more classes comprises one or more internal classes.

38. The method of claim 36 wherein said one or more classes comprises one or more external classes.

39. The method of claim 29 wherein said processing function comprises identifying a location of one or more instance fields within a class instance, said one or more tokens comprising one or more indices.

40. The method of claim 29 wherein said processing function comprises identifying a location of one or more virtual methods within a class virtual method table, said one or more tokens comprising one or more indices.

41. The method of claim 29 wherein said processing function comprises identifying a location of one or more interface methods within a class interface method table, said one or more tokens comprising one or more indices.

42. The method of claim 29 wherein said processing function comprises identifying a location of one or more static public items that can be exported.

43. An apparatus for enabling a small virtual machine suitable for execution on a resource-constrained device, the apparatus comprising:

means for receiving one or more tokens comprising a result of performing a processing function on a resource-rich device; and

means for using said one or more tokens on said resource-constrained device in lieu of performing said processing function.

44. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more static fields.

45. The apparatus of claim 44 wherein said one or more static fields comprises one or more internal static fields.

46. The apparatus of claim 44 wherein said one or more static fields comprises one or more external static fields.

47. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more static methods.

48. The apparatus of claim 47 wherein said one or more static methods comprises one or more internal static methods.

49. The apparatus of claim 47 wherein said one or more static methods comprises one or more external static methods.

50. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more classes.

51. The apparatus of claim 50 wherein said one or more classes comprises one or more internal classes.

52. The apparatus of claim 50 wherein said one or more classes comprises one or more external classes.

53. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more instance fields within a class instance, said one or more tokens comprising one or more indices.

54. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more virtual methods within a class virtual method table, said one or more tokens comprising one or more indices.

55. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more interface methods within a class interface method table, said one or more tokens comprising one or more indices.

56. The apparatus of claim 43 wherein said processing function comprises identifying a location of one or more static public items that can be exported.

57. A resource-constrained device, comprising:

a memory for storing one or more tokens comprising the result of performing a processing function on a resource-rich device; and

a processor coupled to said memory and configured to:

receive said one or more tokens; and

use said one or more tokens on said resource-constrained device in lieu of performing said processing function.

58. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more static fields.

59. The resource-constrained device of claim 58 wherein said one or more static fields comprises one or more internal static fields.

60. The resource-constrained device of claim 58 wherein said one or more static fields comprises one or more external static fields.

61. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more static methods.

62. The resource-constrained device of claim 61 wherein said one or more static methods comprises one or more internal static methods.

63. The resource-constrained device of claim 61 wherein said one or more static methods comprises one or more external static methods.

64. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more classes.

65. The resource-constrained device of claim 64 wherein said one or more classes comprises one or more internal classes.

66. The resource-constrained device of claim 64 wherein said one or more classes comprises one or more external classes.

67. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more instance fields within a class instance, said one or more tokens comprising one or more indices.

68. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more virtual methods within a class virtual method table, said one or more tokens comprising one or more indices.

69. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more interface methods within a class interface method table, said one or more tokens comprising one or more indices.

70. The resource-constrained device of claim 57 wherein said processing function comprises identifying a location of one or more static public items that can be exported.

71. The resource-constrained device resource-constrained device of claim 57 wherein said resource-constrained device comprises a smart card.

Assignments (1)
CHANGE OF NAME Recorded Sep 1, 2011
From: SUN MICROSYSTEMS, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 026843/0357 →
Continuity (2)
Continuation 0924310800 · Feb 2, 1999
Related Publication 20050097550A1 · May 5, 2005