IP Library Granted Patent US 8,429,626
Granted Patent B2
US 8,429,626 · App. 11/707,655 · Granted Apr 23, 2013

Packaging content updates

Inventors: Cameron B. Lerum (Renton, WA); Catherine A. Wissink (Medina, WA); Roxanne M. Seubert (Bellevue, WA); Sushmita Subramanian (Redmond, WA); Vivek R. Rao (Redmond, WA); Yaron Hezroni (Bellevue, WA)
Assignee: Microsoft Corporation
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,429,626
App. No.
11/707,655
Granted
Apr 23, 2013
Kind
B2
Abstract

Aspects of the present invention are directed at obtaining user feedback and causing a package of content updates to be created and distributed based on the received feedback. In accordance with one embodiment, a method is provided for creating a package that contains one or more content updates configured to change the content that is displayed by default when a program executes. More specifically, the method includes obtaining input that describes one or more content updates. In this regard, the input received may include the user-defined content that will be displayed when the program executes and the identity of the content displayed by default. Then, the method assembles selected content updates into a package that is suitable for transmission over a network connection. When the package is assembled, processing is provided that allows the content updates in the package to be implemented on a remote computing device.

Claims (32)

1. A computer-implemented method, the method implemented with at least one processor of a computing device and comprising:

obtaining, from a user interface of a first instance of a program displaying natural language content associated with default resources of the program, user input that defines one or more content updates, the first instance of the program being executed by the computing device, at least one of the content updates including a user-defined resource that will be loaded in place of at least one of the default resources when the first instance of the program next executes effective to cause natural language content associated with the user-defined resource to be displayed by the first instance of the program; and

assembling the one or more content updates into a package that is suitable for transmission over a network connection, the package including logic to implement the one or more content updates on a remote computing device executing a second instance of the same program from which the user input that defines the one or more content updates is received, wherein the first and second instances are distinct.

2. The computer-implemented method as recited in claim 1 , further comprising causing the package of content updates to be automatically transmitted to the remote computing device.

3. The computer-implemented method as recited in claim 2 , further comprising implementing the one or more content updates on the remote computing device by:

storing the one or more content updates in a data store accessible by the remote computing device, wherein the data store is configured to satisfy a query to identify a content update that is associated with the program; and

causing a computer operating system to load a program module that defines the one or more content updates during execution of the second instance of the program.

4. The computer-implemented method as recited in claim 1 , wherein the input that defines the one or more content updates is obtained through a graphical user interface (GUI) object accessible to the user from the user interface.

5. The computer-implemented method as recited in claim 1 , wherein the package is assembled and distributed by a user such that the one or more content updates can be implemented without a software update that modifies program functionality.

6. The computer-implemented method as recited in claim 1 , wherein the logic to implement the one or more content updates on the remote computing device is formatted in XML.

7. The computer-implemented method as recited in claim 1 , wherein the default resources and the user-defined resource are stored as one or more dynamically linked libraries.

8. A computer-implemented method, the method implemented with at least one processor of a computing device and comprising:

obtaining a package that contains a plurality of natural language content updates for a local instance of a program, at least two of the plurality of natural language content updates each including a user-defined resource defined by a different respective user of the program through interaction with a respective computing device executing another respective instance of the program, the user-defined resources each including a suggested translation of a natural language term;

storing the plurality of natural language content updates in a local data store that is configured to satisfy queries to identify natural language content in response to a request for natural language content from the program; and

during execution of the local instance of the program:

receiving the request for natural language content from the local instance of the program;

identifying natural language content that satisfies the request for natural language content from the local instance of the program;

determining that natural language content associated with at least one user-defined resource replaces default natural language content of the local instance of the program; and

displaying natural language content of the local instance of the program, including one of the translations of a natural language term, based on the at least one user-defined resource of the package in place of the default content.

9. The computer-implemented method as recited in claim 8 , wherein displaying natural language content of the local instance of the program based on the at least one user-defined resource includes configuring a computer operating system to load and access a library that defines the at least one of the user-defined resources.

10. The computer-implemented method as recited in claim 8 , wherein displaying natural language content of the local instance of the program based on the at least one user-defined resource includes loading the at least of the user-defined resources instead of a default resource.

11. The computer-implemented method as recited in claim 8 , wherein displaying natural language content of the local instance of the program based on the at least one user-defined resource includes causing a resource loader of an operating system to determine whether the at least of the one user-defined resources is associated with the program by querying the local data store.

12. The computer-implemented method as recited in claim 8 , wherein the user-defined resources and resources associated with the default natural language content of the program are stored as one or more dynamically linked libraries.

13. A computer-readable storage memory device encoded with computer executable instructions that, when executed by a processor, implement a package creation component configured to:

obtain, from a user interface of a first instance of a program displaying natural language content associated with default resources of the program, user input that defines one or more content updates, at least one of the content updates including a user-defined resource that will be loaded in place of at least one of the default resources when the first instance of the program next executes effective to cause natural language content associated with the user-defined resource to be displayed by the first instance of the program, the natural language content associated with the user-defined resource including a suggested translation of an incorrect natural language term for display on the user interface; and

assemble the one or more content updates into a package that is suitable for transmission over a network connection, the package including logic to implement the one or more content updates on a remote computing device configured to execute a second instance of the same program from which the user input that defines the one or more content updates is received, wherein the first and second instances are distinct.

14. The computer-readable storage device as recited in claim 13 , further comprising a multi-user management system configured to automatically distribute and implement the package of content updates.

15. The computer-readable storage device as recited in claim 13 , further comprising a data store that is configured to satisfy queries generated to identify content updates that are associated with the second instance of the program installed on the remote computing device.

16. The computer-readable storage device as recited in claim 13 , wherein the user input obtained by the package creation component includes an identity of the at least one default resource provided by the program.

17. The computer-readable storage device as recited in claim 13 , wherein the package creation component allows a user to selectively identify content updates that will be included in the package from a plurality of content updates.

18. The computer-readable storage device as recited in claim 13 , wherein the package created by the package creation component may be assembled and distributed by a user separately from a software update that modifies program functionality.

19. The computer-readable storage device as recited in claim 13 , wherein the default resources and the user-defined resource are stored as one or more dynamically linked libraries.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2007
From: LERUM, CAMERON B.; WISSINK, CATHERINE A.; SEUBERT, ROXANNE M.; SUBRAMANIAN, SUSHMITA; RAO, VIVEK R.; HEZRONI, YARON
To: MICROSOFT CORPORATION
Reel/Frame 019443/0948 →
Continuity (1)
Related Publication 20080201703A1 · Aug 21, 2008