US8352507B2ActiveUtilityA1

Retrieval and storage of localized instances of data objects

Assignee: MICROSOFT CORPPriority: Oct 29, 2010Filed: Oct 29, 2010Granted: Jan 8, 2013
Est. expiryOct 29, 2030(~4.3 yrs left)· nominal 20-yr term from priority
G06F 16/9537G06F 40/58G06F 16/335G06F 9/454G06F 40/126
31
PatentIndex Score
0
Cited by
16
References
14
Claims

Abstract

A method includes receiving, at a first computing device, a request to retrieve a localized instance of a data object. The request is received from a second computing device and includes an object name. A locale applicable to the request is identified, and the localized instance of the data object is retrieved based on the object name and the identified locale. The localized instance includes a plurality of data elements specific to the identified locale. The method includes transmitting the localized instance to the second computing device.

Claims

exact text as granted — not AI-modified
1. A computer-implemented method, comprising:
 at a first computing device, receiving a request from a second computing device to retrieve a localized instance of a data object, wherein the request includes an object name and a requested locale; 
 determining whether the localized instance of the data object that is specific to the requested locale is available; 
 when the localized instance is available, retrieving the localized instance and transmitting the retrieved localized instance to the second computing device, wherein the localized instance includes a plurality of data elements that are specific to the requested locale; and 
 when the localized instance is not available: 
 identifying a fallback locale; 
 retrieving a fallback instance of the data object that is specific to the identified fallback locale; and 
 transmitting the fallback instance of the data object to the second computing device. 
 
     
     
       2. The computer-implemented method of  claim 1 , wherein the localized instance is one of a plurality of localized instances of the data object, wherein each of the localized instances is associated with the object name, and wherein each of the localized instances is specific to a different locale. 
     
     
       3. The computer-implemented method of  claim 2 , further comprising:
 receiving a second request from the second computing device to retrieve a second localized instance of the data object specific to a second locale; 
 retrieving a second localized instance of the data object based on the object name and the second locale; and 
 transmitting the second localized instance to the second computing device. 
 
     
     
       4. The computer-implemented method of  claim 1 , wherein the plurality of data elements includes a string data element, a graphic data element, an audio stream data element, a video stream data element, or any combination thereof. 
     
     
       5. The computer-implemented method of  claim 1 , wherein at least one of the plurality of data elements is represented in accordance with a country of the requested locale, a language of the requested locale, a character set of the requested locale, a spelling rule of the requested locale, a grammatical rule of the requested locale, a time format of the requested locale, a date format of the locale, a currency of the requested locale, a numeral system of the requested locale, a measurement unit system of the requested locale, or any combination thereof. 
     
     
       6. A computer system, comprising:
 a processor; 
 one or more data storage devices to store an object database; 
 a communication interface configured to:
 receive, from a computing device, a localized instance request of a data object from the object database, wherein the localized instance request includes an object name, a requested locale, and one or more fallback locales; 
 
 a retrieval module executable by the processor to:
 determine whether an instance of the data object that is specific to the requested locale is available at the object database; 
 when the instance is available: 
 retrieve first localized data of the data object from the object database based on the object name and the requested locale; and 
 create a localized instance of the data object based on the first localized data; and 
 when the instance is not available: 
 retrieve second localized data of the data object from the object database based on the object name and the one or more fallback locales; and 
 create a localized instance of the data object based on the second localized data; and 
 
 a communication interface configured to:
 transmit the localized instance of the data object to the computing device. 
 
 
     
     
       7. The computer system of  claim 6 , further comprising a storage module executable by the processor to store localized instances of data objects to the object database, wherein each particular localized instance of a particular data object is uniquely identifiable via a combination of an object name of the particular data object and a target locale of the particular localized instance. 
     
     
       8. A computer-readable storage device embedded with instructions that are executable by at least one processor to perform a method comprising:
 receiving, at a first computing device, a request from a second computing device to retrieve a localized instance of a data object, wherein the request includes an object name and a requested locale; 
 determining whether the localized instance of the data object that is specific to the requested locale is available; 
 when the localized instance is available, retrieving the localized instance and transmitting the retrieved localized instance to the second computing device, wherein the localized instance includes a plurality of data elements that are specific to the requested locale; and 
 when the localized instance is not available: 
 identifying a fallback locale; 
 retrieving a fallback instance of the data object that is specific to the identified fallback locale; and 
 transmitting the fallback instance of the data object to the second computing device. 
 
     
     
       9. The computer-implemented method of  claim 8 , wherein the request is transmitted by a browser at the second computing device and wherein identifying the fallback locale comprises identifying a locale of the browser. 
     
     
       10. The computer-implemented method of  claim 8 , wherein the fallback locale is included in the request. 
     
     
       11. The computer-implemented method of  claim 8 , wherein the request includes a prioritized list of fallback locales. 
     
     
       12. The computer-implemented method of  claim 8 , wherein retrieving the localized instance of the data object comprises:
 retrieving localized data of the data object from a database; 
 identifying a database schema associated with the data object; 
 populating an in-memory representation of the data object based on the identified database schema; and 
 creating the localized instance of the data object based on the in-memory representation. 
 
     
     
       13. The computer-implemented method of  claim 12 , wherein the identified database schema comprises a structured query language (SQL) schema, wherein the in-memory representation comprises a physical data model (PDM), and wherein the in-memory representation is populated by a data access component (DAC). 
     
     
       14. The computer-implemented method of  claim 12 , further comprising:
 receiving a second request from the second computing device to store a second localized instance of the data object, wherein the second request includes the object name and a second locale; 
 populating a second in-memory representation of the data object based on the identified database schema; and 
 writing the second in-memory representation to the database, 
 wherein the second localized instance of the data object is retrievable from the database via a combination of the object name and the second locale.

Join the waitlist — get patent alerts

Track US8352507B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.