Claims
- 1. A software architecture for a distributed computing system comprising:
an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.
- 2. A software architecture as recited in claim 1, wherein the distributed computing system comprises client devices and server devices that handle requests from the client devices, the remote devices comprising at least one client device.
- 3. A software architecture as recited in claim 1, wherein the distributed computing system comprises client devices and server devices that handle requests from the client devices, the remote devices comprising at least one server device that is configured as a Web server.
- 4. A software architecture as recited in claim 1, wherein the application program interface comprises:
a first group of services related to creating Web applications; a second group of services related to constructing client applications; a third group of services related to data and handling XML documents; and a fourth group of services related to base class libraries.
- 5. An application program interface embodied on one or more computer readable media, comprising:
a first group of services related to creating Web applications; a second group of services related to constructing client applications; a third group of services related to data and handling XML documents; and a fourth group of services related to base class libraries.
- 6. An application program interface as recited in claim 5, wherein the first group of services comprises:
first functions that enable construction and use of Web services; second functions that enable temporary caching of frequently used resources; third functions that enable initial configuration; fourth functions that enable creation of controls and Web pages; fifth functions that enable security in Web server applications; and sixth functions that enable access to session state values.
- 7. An application program interface as recited in claim 5, wherein the second group of services comprises:
first functions that enable creation of windowing graphical user interface environments; and second functions that enable graphical functionality.
- 8. An application program interface as recited in claim 5, wherein the third group of services comprises:
first functions that enable management of data from multiple data sources; and second functions that enable XML processing.
- 9. An application program interface as recited in claim 5, wherein the fourth group of services comprises:
first functions that enable definitions of various collections of objects; second functions that enable programmatic access to configuration settings and handling of errors in configuration files; third functions that enable application debugging and code execution tracing; fourth functions that enable customization of data according to cultural s5 related information; fifth functions that enable input/output of data; sixth functions that enable a programming interface to network protocols; seventh functions that enable a managed view of types, methods, and fields; eighth functions that enable creation, storage and management of various culture-specific resources; ninth functions that enable system security and permissions; tenth functions that enable installation and running of services; eleventh functions that enable character encoding; twelfth functions that enable multi-threaded programming; and thirteenth functions that facilitate runtime operations.
- 10. A network software architecture comprising the application program interface as recited in claim 5.
- 11. A distributed computer software architecture, comprising:
one or more applications configured to be executed on one or more computing devices, the applications handling requests submitted from remote computing devices; a networking platform to support the one or more applications; and an application programming interface to interface the one or more applications with the networking platform.
- 12. A distributed computer software architecture as recited in claim 11, further comprising a remote application configured to be executed on one of the remote computing devices, the remote application using the application programming interface to access the networking platform.
- 13. A distributed computer software architecture as recited in claim 11, wherein the application programming interface comprises:
a first group of services related to creating Web applications; a second group of services related to constructing client applications; a third group of services related to data and handling XML documents; and a fourth group of services related to base class libraries.
- 14. A distributed computer software architecture as recited in claim 11, wherein the application programming interface exposes multiple functions comprising:
first functions that enable construction and use of Web services; second functions that enable temporary caching of frequently used resources; third functions that enable initial configuration; fourth functions that enable creation of controls and Web pages; fifth functions that enable security in Web server applications; and sixth functions that enable access to session state values.
- 15. A distributed computer software architecture as recited in claim 11, wherein the application programming interface exposes multiple functions comprising:
first functions that enable creation of windowing graphical user interface environments; and second functions that enable graphical functionality.
- 16. A distributed computer software architecture as recited in claim 11, wherein the application programming interface exposes multiple functions comprising:
first functions that enable management of data from multiple data sources; and second functions that enable XML processing.
- 17. A distributed computer software architecture as recited in claim 11, wherein the application programming interface exposes multiple functions comprising:
first functions that enable definitions of various collections of objects; second functions that enable programmatic access to configuration settings and handling of errors in configuration files; third functions that enable application debugging and code execution tracing; fourth functions that enable customization of data according to cultural related information; fifth functions that enable input/output of data; sixth functions that enable a programming interface to network protocols; seventh functions that enable a managed view of loaded types, methods, and fields; eighth functions that enable creation, storage and management of various culture-specific resources; ninth functions that enable system security and permissions; tenth functions that enable installation and running of services; eleventh functions that enable character encoding; twelfth functions that enable multi-threaded programming; and thirteenth functions that facilitate runtime operations.
- 18. A computer system including one or more microprocessors and one or more software programs, the one or more software programs utilizing an application program interface to request services from an operating system, the application program interface including separate commands to request services consisting of the following groups of services:
A. a first group of services related to creating Web applications:
constructing Web services; temporary caching resources; performing initial configuration; creating controls and Web pages; enabling security in Web server applications; accessing session state values; B. a second group of services related to constructing client applications:
creating windowing graphical user interface environments; enabling graphical functionality; C. a third group of services related to data and handling XML documents:
enabling management of data from multiple data sources; second functions that enable XML processing. D. a fourth group of services related to base class libraries:
defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations.
- 19. A system comprising:
means for exposing a first set of functions that enable browser/server communication; means for exposing a second set of functions that enable drawing and construction of client applications; means for exposing a third set of functions that enable connectivity to data sources and XML functionality; and means for exposing a fourth set of functions that enable system and runtime functionality.
- 20. A system as recited in claim 19, wherein the first set of functions comprises:
first functions that enable construction and use of Web services; second functions that enable temporary caching of frequently used resources; third functions that enable initial configuration; fourth functions that enable creation of controls and Web pages; fifth functions that enable security in Web server applications; and sixth functions that enable access to session state values.
- 21. A system as recited in claim 19, wherein the second set of functions comprises:
first functions that enable creation of windowing graphical user interface environments; and second functions that enable graphical functionality.
- 22. A system as recited in claim 19, wherein the third set of functions comprises:
first functions that enable management of data from multiple data sources; and second functions that enable XML processing.
- 23. A system as recited in claim 19, wherein the fourth set of functions comprises:
first functions that enable definitions of various collections of objects; second functions that enable programmatic access to configuration settings and handling of errors in configuration files; third functions that enable application debugging and code execution tracing; fourth functions that enable customization of data according to cultural related information; fifth functions that enable input/output of data; sixth functions that enable a programming interface to network protocols; seventh functions that enable a managed view of loaded types, methods, and fields; eighth functions that enable creation, storage and management of various culture-specific resources; ninth functions that enable system security and permissions; tenth functions that enable installation and running of services; eleventh functions that enable character encoding; twelfth functions that enable multi-threaded programming; and thirteenth functions that facilitate runtime operations.
- 24. A method, comprising:
managing network and computing resources for a distributed computing system; and exposing a set of functions that enable developers to access the network and computing resources of the distributed computing system, the set of functions comprising first functions to facilitate browser/server communication, second functions to facilitate construction of client applications, third functions to facilitate connectivity to data sources and XML functionality, and fourth functions to access system and runtime resources.
- 25. A method as recited in claim 24, further comprising receiving a request from a remote computing device, the request containing a call to at least one of the first, second, third, and fourth functions.
- 26. A method, comprising:
creating a first namespace with functions that enable browser/server communication; creating a second namespace with functions that enable drawing and construction of client applications; creating a third namespace with functions that enable connectivity to data sources and XML functionality; and creating a fourth namespace with functions that enable system and runtime functionality.
- 27. A method as recited in claim 26, wherein the first namespace defines classes that facilitate:
construction and use of Web services; temporary caching of resources; initial configuration; creation of controls and Web pages; security in Web server applications; and access to session state values.
- 28. A method as recited in claim 26, wherein the second namespace defines classes that facilitate:
creation of windowing graphical user interface environments; and graphical functionality.
- 29. A method as recited in claim 26, wherein the third namespace defines classes that facilitate:
management of data from multiple data sources; and processing of XML documents.
- 30. A method as recited in claim 26, wherein the fourth namespace defines classes that facilitate:
programmatic access to configuration settings and handling of errors in configuration files; application debugging and code execution tracing; customization of data according to cultural related information; inputting and outputting of data; interfacing to network protocols; viewing loaded types, methods, and fields; creation, storage and management of various culture-specific resources; system security and permissions; installation and running of services; character encoding; multi-threaded programming; and runtime operations.
- 31. A method, comprising:
calling one or more first functions to facilitate browser/server communication; calling one or more second functions to facilitate construction of client applications; calling one or more third functions to facilitate connectivity to data sources and XML functionality; and calling one or more fourth functions to access system and runtime resources.
- 32. A method as recited in claim 36, wherein the first functions comprise functions for construction and use of Web services, temporary caching of resources, initial configuration, creation of controls and pages that will appear as user interfaces, securing Web server applications, and accessing session state values.
- 33. A method as recited in claim 36, wherein the second functions comprise functions for creation of windowing graphical user interface environments, and graphical functionality.
- 34. A method as recited in claim 36, wherein the third functions comprise functions for management of data from multiple data sources, and XML processing.
- 35. A method as recited in claim 36, wherein the fourth functions comprise functions for programmatic access to configuration settings, application debugging and code execution tracing, customization of text according to cultural related information, synchronous and asynchronous reading from and writing to data streams and files, creation and management of various culture-specific resources, system security and permissions, installation and running of services, character encoding, and multi-threaded programming.
- 36. A method, comprising:
receiving one or more calls to one or more first functions to facilitate browser/server communication; receiving one or more calls to one or more second functions to facilitate construction of client applications; receiving one or more calls to one or more third functions to facilitate connectivity to data sources and XML functionality; and receiving one or more calls to one or more fourth functions to access system and runtime resources.
- 37. A method as recited in claim 31, wherein the first functions comprise functions for construction and use of Web services, temporary caching of resources, initial configuration, creation of controls and pages that will appear as user interfaces, securing Web server applications, and accessing session state values.
- 38. A method as recited in claim 31, wherein the second functions comprise functions for creation of windowing graphical user interface environments, and graphical functionality.
- 39. A method as recited in claim 31, wherein the third functions comprise functions for management of data from multiple data sources, and XML processing.
- 40. A method as recited in claim 31, wherein the fourth functions comprise functions for programmatic access to configuration settings, application debugging and code execution tracing, customization of text according to cultural related information, synchronous and asynchronous reading from and writing to data streams and files, creation and management of various culture-specific resources, system security and permissions, installation and running of services, character encoding, and multi-threaded programming.
- 41. A method for exposing resources using an application program interface, comprising:
A. exposing a first group of services related to creating Web applications, including:
constructing Web services; temporary caching resources; performing initial configuration; creating controls and Web pages; enabling security in Web server applications; accessing session state values; B. exposing a second group of services related to constructing client applications, including:
creating windowing graphical user interface environments; enabling graphical functionality; C. exposing a third group of services related to data and handling XML documents, including:
enabling management of data from multiple data sources; second functions that enable XML processing. D. exposing a fourth group of services related to base class libraries, including:
defining various collections of objects; accessing configuration settings and handling errors in configuration files; debugging and tracing code execution; customizing data according to cultural related information; inputting and outputting of data; enabling a programming interface to network protocols; viewing loaded types, methods, and fields; creating, storing and managing various culture-specific resources; enabling system security and permissions; installing and running services; enabling character encoding; enabling multi-threaded programming; and facilitating runtime operations.
- 42. A method of organizing a set of types into a hierarchical namespace comprising:
creating a plurality of groups from the set of types, each group containing at least one type that exposes logically related functionality; assigning a name to each group in the plurality; and selecting a top level identifier and prefixing the name of each group with the top level identifier so that the types in each group are referenced by a hierarchical name that includes the selected top level identifier prefixed to the name of the group containing the type.
- 43. A system comprising:
a set of types, each type comprising one of a delegate, an enumeration, an interface, a class, and a structure; and a namespace defined by the set of types to provide access to logically related functionality of a computing system.
RELATED APPLICATIONS
[0001] This application is a continuation of application Ser. No. 09/902,936 entitled “Application Program Interface for Network Software Platform”, filed Jul. 10, 2001 (now abandoned).
[0002] This relates to the following six patents, all of which are incorporated herein by reference:
[0003] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/902,811, filed Jul. 10, 2001. (Attorney's Docket No. MS1-862US)
[0004] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/902,809, filed Jul. 10, 2001. (Attorney's Docket No. MS1-863US)
[0005] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/902,560, filed Jul. 10, 2001. (Attorney's Docket No. MS1-864US)
[0006] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/902,810, filed Jul. 10, 2001. (Attorney's Docket No. MS1-865US)
[0007] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/902,812, filed Jul. 10, 2001. (Attorney's Docket No. MS1-866US)
[0008] U.S. Pat. No. ______, entitled “Application Program Interface for Network Software Platform”, which issued ______ from application Ser. No. 09/901,555, filed Jul. 10, 2001. (Attorney's Docket No. MS1-867US)
Continuations (1)
|
Number |
Date |
Country |
Parent |
09902936 |
Jul 2001 |
US |
Child |
10087027 |
Feb 2002 |
US |