IP Library Granted Patent US 8,230,403
Granted Patent B2
US 8,230,403 · App. 12/953,518 · Granted Jul 24, 2012

Typed-data translation for platform independence

Assignee: Apple 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 8,230,403
App. No.
12/953,518
Granted
Jul 24, 2012
Kind
B2
Abstract

A method, computer program and device for the translation of typed data objects in a heterogeneous computational environment is described. The operating system (or installed shared code libraries) translates typed data objects from a first format (e.g., big-endian) to a second format (e.g., little-endian) if the application sending the object and the application receiving the object utilize different formats. By placing data object format translation capabilities into the operating system, the software development effort required to permit an application (e.g., a user-level application) to execute in a heterogeneous environment is significantly reduced.

Claims (45)

1. A typed data object translation method, comprising:

obtaining, from a first application, a typed data object having a first format with a first corresponding byte ordering;

creating a token in an operating system specified memory identifying the received typed data object;

receiving a request for the typed data object in a second format with a second corresponding byte ordering;

translating the received typed data object into the second format;

updating the token to identify the translated typed data object so that the token identifies both the received typed data object and the translated typed data object wherein the received typed data object remains in the first format and the translated typed data object is in the second format; and

sending the translated typed data object to a second application wherein sending to the second application comprises sending the token.

2. The method of claim 1 , wherein the first application and second application are user-level applications, and the second application registers a translation routine with an operating system component, the translation routine to convert the typed data object from the first format to the second format.

3. The method of claim 2 , wherein the operating system component comprises an event manager component.

4. The method of claim 2 , wherein the operating system component comprises one or more shared code libraries.

5. The method of claim 1 , wherein the first application and second application are user-level applications, and the first application registers a translation routine with an operating system component, the translation routine to convert the typed data object from the first format to the second format.

6. The method of claim 5 , wherein the operating system component comprises an event manager component.

7. The method of claim 5 , wherein the operating system component comprises one or more shared code libraries.

8. The method of claim 1 , wherein the first format comprises a big-endian format or a little-endian format.

9. A computer system, comprising:

non-volatile storage coupled to a central processing unit;

volatile storage coupled to the central processing unit;

user-level applications, stored on the non-volatile storage;

an operating system, stored on the non-volatile storage and comprising a plurality of functional components, wherein at least one of the plurality of components is configured to:

obtain, from a first application, a typed data object having a first format with a first corresponding byte ordering;

create a token in an operating system specified memory identifying the received typed data object;

receive a request for the typed data object in a second format with a second corresponding byte ordering;

translate the received typed data object into the second format;

update the token to identify the translated typed data object so that the token identifies both the received typed data object and the translated typed data object wherein the received typed data object remains in the first format and the translated typed data object is in the second format; and

send the translated typed data object to the a second application wherein sending to the second application comprises sending the token; and

whereas the central processor unit is further configured to execute one or more of the user-level applications.

10. The computer system of claim 9 , wherein the first application and second application are user-level applications, and the second application registers a translation routine with the operating system, the translation routine to convert the typed data object from the first format to the second format.

11. The computer system of claim 9 , wherein the first application and second application are user-level applications, and the first application registers a translation routine with the operating system, the translation routine to convert the typed data object from the first format to the second format.

12. The computer system of claim 9 , wherein the operating system comprises an event manager component.

13. The computer system of claim 9 , wherein the operating system comprises one or more shared code libraries.

14. The computer system of claim 9 , wherein the first format comprises a big-endian format or a little-endian format.

15. A program storage device, readable by a programmable control device, comprising instructions stored on the program storage device for causing the programmable control device to:

obtain, from a first application, a typed data object having a first format with a first corresponding byte ordering;

create a token in an operating system specified memory identifying the received typed data object;

receive a request for the typed data object in a second format with a second corresponding byte ordering;

translate the received typed data object into the second format;

update the token to identify the translated typed data object so that the token identifies both the received typed data object and the translated typed data object wherein the received typed data object remains in the first format and the translated typed data object is in the second format; and

send the translated typed data object to a second application wherein sending to the second application comprises sending the token.

16. The program storage device of claim 15 , wherein the first application and second application are user-level applications, and the second application registers a translation routine with an operating system, the translation routine to convert the typed data object from the first format to the second format.

17. The program storage device of claim 16 , wherein the operating system comprises an event manager component.

18. The program storage device of claim 16 , wherein the operating system comprises one or more shared code libraries.

19. The program storage device of claim 15 , wherein the first application and second application are user-level applications, and the first application registers a translation routine with an operating system, the translation routine to convert the typed data object from the first format to the second format.

20. The program storage device of claim 19 , wherein the operating system comprises an event manager component.

21. The program storage device of claim 19 , wherein the operating system comprises one or more shared code libraries.

22. The program storage device of claim 15 , wherein the first format comprises a big-endian format or a little-endian format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2010
From: ALBERT, ERIC; KOSUT, ALEXEI ELIAS; WATSON, MATTHEW GEORGE; ZELLERS, STEVE
To: APPLE INC.
Reel/Frame 025417/0834 →
Continuity (2)
Continuation 11144877 · Jun 3, 2005
Related Publication 20110138370A1 · Jun 9, 2011