US 7,546,602 B2
Application program interface for network software platform
Anders Hejlsberg, Seattle, Wash. (US); Brian K. Pepin, Seattle, Wash. (US); Chad W. Royal, Redmond, Wash. (US); Christopher L. Anderson, Issaquah, Wash. (US); Giovanni M. Della-Libera, Seattle, Wash. (US); Mark A. Boulter, Redmond, Wash. (US); Nicholas M. Kramer, Redmond, Wash. (US); Shawn P. Burke, Kirkland, Wash. (US); Subhag P. Oak, Redmond, Wash. (US); and Sreeram Nivarthi, Sammamish, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Jul. 10, 2001, as Appl. No. 9/902,812.
Prior Publication US 2003/0177282 A1, Sep. 18, 2003
Int. Cl. G06F 3/00 (2006.01); G06F 9/44 (2006.01); G06F 9/46 (2006.01); G06F 13/00 (2006.01)
U.S. Cl. 719—313  [719/320; 717/114] 30 Claims
OG exemplary drawing
 
1. A software architecture embodied on one or more computer-readable storage media, the software architecture executed by a computing device for a distributed computing system comprising:
an application configured to handle requests submitted by remote devices over a network; and
a multi-tiered framework comprising:
an application program interface layer organized into multiple root namespaces, the application program interface layer to present functions used by the application to access network and computing resources of the distributed computing system;
a common language runtime layer, wherein calls to the application program interface layer are handed to the common language runtime layer supporting applications written in a plurality of different languages and translated into an intermediate supported language, the application program interface layer comprising various types related to constructing user interfaces, wherein the types define a collection of classes, interfaces, delegates, enumerations, and structures which belong to a group assigned a group name associated with one of the root namespaces, and wherein each of the types is referenced by a hierarchical name comprising a top level identifier prefixed to the group name;
an operating system layer or an object model service, wherein the calls handed to the common language runtime layer are executed locally by the operating system layer or the object model service; and
a common language specification for local execution by the operating system layer or the object model service, wherein the common language specification provides an ability to use a particular code module written in a first programming language with a code module written in a second programming language.