Patent ID: 8819669

Claim:
An information processing apparatus, comprising: an information receiving unit that receives index information about one or more expansion functions from an external expansion server realized by being linked to predetermined services provided by an external service server connected via a network, wherein the index information contains; i. information representing a required data file format with which an upload service provides an upload operation, ii. information representing an availability of an upload service of a plurality of upload types to the information receiving unit, and iii. information about a plurality of services that provide the same type of expansion function; a display control unit that displays a menu of information representing the expansion functions on a display screen, based on the index information, wherein the menu of information dynamically indicates different upload types of available upload services that are compatible with the information receiving unit; the menu is a contextual menu in which, when the user specifies an object on the display screen, all available upload services and their corresponding operations that are compatible with the object are displayed on the display screen and subsequently selectable for downloading in accordance with a user selection; a download unit that downloads software for executing the expansion function based on location information of the software when the expansion function being executed in accordance with a user selection on the menu on the display screen, wherein the location information is contained in the index information as address information representing the storage location of the software, a function execution unit that uses the downloaded software to execute the expansion function based on the operation selected by the user, and periodically updating the index information indicating that a new operation is available for the object, and automatically adding the new operation for the object into the contextual menu.