A computer system handling multiple applications wherein groups of I/O services are accessible through separate application programming interfaces. Each application has multiple application programming interfaces by which to access different families of I/O services, such as I/O devices. |
Citations|
| US4593352 | Mar 11, 1983 | Jun 3, 1986 | International Business Machines Corp. | Method and device for exchanging information between terminals and a central control unit | | US4727537 | Dec 24, 1985 | Feb 23, 1988 | American Telephone and Telegraph Company AT&T Information Systems, Inc. | Flow control arrangement for the transmission of data packets to a communication network | | US4908859 | Jan 22, 1988 | Mar 13, 1990 | M/A-COM Government Systems, Inc. Cable/Home Communication Corp. | Receiver access interface to service components in television channel | | US4982325 | Mar 18, 1988 | Jan 1, 1991 | AT&T Bell Laboratories | Applications processor module for interfacing to a database system | | US5129086 | Nov 29, 1988 | Jul 7, 1992 | International Business Machines Corporation | System and method for intercommunicating between applications and a database manager | | US5148527 | Nov 22, 1989 | Sep 15, 1992 | International Business Machines Corporation | Interface for independently establishing a link and transmitting high level commands including logical addresses from dedicated microprocessor to shared intelligent memory | | US5197143 | Oct 1, 1990 | Mar 23, 1993 | Digital Equipment Corporation | Device and method for distributing information in a computer system | | US5430845 | Jun 17, 1992 | Jul 4, 1995 | Unisys Corporation | Peripheral device interface for dynamically selecting boot disk device driver | | US5491813 | Nov 18, 1994 | Feb 13, 1996 | International Business Machines Corporation | Display subsystem architecture for binding device independent drivers together into a bound driver for controlling a particular display device | | US5513365 | Sep 6, 1994 | Apr 30, 1996 | International Business Machines Corporation | Display adapter interface layer | | US5535416 | Jun 1, 1995 | Jul 9, 1996 | International Business Machines Corp. | Method for allowing application program in computer system to access device directly in exclusive mode by bypassing operating system and blocking requests from other programs | | US5537466 | Sep 23, 1994 | Jul 16, 1996 | British Telecommunications, plc. | Intelligent communications networks | | US5553245 | May 11, 1994 | Sep 3, 1996 | Macronix International Co., Ltd. | Automatic configuration of multiple peripheral interface subsystems in a computer system | | US5572675 | Apr 22, 1994 | Nov 5, 1996 | Alcatel N.V. | Application program interface |
Referenced by|
| US6078951 | Nov 27, 1996 | Jun 20, 2000 | Intel Corporation | Method and apparatus for automating a software delivery system by locating, downloading, installing, and upgrading of viewer software | | US6161152 | Jun 4, 1998 | Dec 12, 2000 | Intel Corporation | System for providing asynchronous I/O operations by identifying and polling a portal from an application process using a table of entries corresponding to I/O operations | | US6178464 | May 10, 1996 | Jan 23, 2001 | Apple Computer, Inc. | System and method for canceling a computer request | | US6216196 | May 14, 1999 | Apr 10, 2001 | Ariel Corporation | System and method for multiple device drivers to arbitrate for a single device | | US6370592 | Nov 4, 1997 | Apr 9, 2002 | Hewlett-Packard Company | Network interface device which allows peripherals to utilize network transport services | | US6408344 | Mar 4, 1999 | Jun 18, 2002 | Sharp Kabushiki Kaisha | Method and apparatus for file transfer and computer readable recording medium recording a file transfer program | | US6754734 | Dec 18, 2001 | Jun 22, 2004 | International Business Machines Corporation | Systems, methods, and computer program products to improve performance of ported applications, such as a database | | US6754736 | Jun 14, 2000 | Jun 22, 2004 | Fujitsu Limited | Information processing apparatus, data inputting/outputting method, and program storage medium therefor | | US6782539 | Jul 29, 1999 | Aug 24, 2004 | Sony United Kingdom Limited | Data processing for video special effects system | | US6877045 | Dec 18, 2001 | Apr 5, 2005 | International Business Machines Corporation | Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes | | US7003780 | Dec 11, 2000 | Feb 21, 2006 | International Business Machines Corporation | Method and an apparatus to extend the logic volume manager model to allow device management plug-ins | | US7036126 | Dec 11, 2000 | Apr 25, 2006 | International Business Machines Corporation | Method and an apparatus for logical volume manager plug-ins | | US7113937 | Dec 18, 2001 | Sep 26, 2006 | International Business Machines Corporation | Systems, methods, and computer program products to improve performance of ported applications, such as a database, operating on UNIX system services for the OS/390 | | US7213247 | Jan 10, 2000 | May 1, 2007 | Wind River Systems, Inc. | Protection domains for a computer operating system | | US7310689 | Apr 14, 2004 | Dec 18, 2007 | International Business Machines Corporation | Bypassing disk I/O operations when porting a computer application from one operating system to a different operating system | | US7351151 | Aug 19, 2002 | Apr 1, 2008 | Sierra Design Group | Gaming board set and gaming kernel for game cabinets | | US7451459 | May 5, 2003 | Nov 11, 2008 | Microsoft Corporation | Systems, methods, and apparatus for indicating processor hierarchical topology | | US7818758 | May 2, 2006 | Oct 19, 2010 | Mobitv, Inc. | Efficient multi-protocol software architecture with shared resources for different applications | | US8041848 | Aug 4, 2008 | Oct 18, 2011 | Apple Inc. | Media processing method and device | | US8174503 | May 17, 2008 | May 8, 2012 | David H. Cain | Touch-based authentication of a mobile device through user generated pattern creation |
Claims1. A computer system comprising: - a bus;
- at least one memory coupled to the bus for storing data and programming instructions that include applications and an operating system; and
- a processing unit coupled to the bus and running the operating system and applications by executing programming instructions, wherein an application has a first plurality of tailored distinct programming interfaces available to access a plurality of separate sets of computer system services provided through the operating system of the computer system via service requests.
2. The computer system defined in claim 3 wherein each of the first plurality of tailored distinct programming interfaces are tailored to a type of I/O service provided by each set of I/O services. 3. A computer system comprising: - a bus;
- at least one memory coupled to the bus for storing data and programming instructions that include applications and an operating system, wherein the operating system comprises a plurality of servers, and each of the first plurality of programming interfaces transfer service requests to one of the plurality of servers, wherein each of the plurality of servers responds to service requests from clients of the separate sets of I/O services; and
- a processing unit coupled to the bus and running the operating system and applications by executing programing instructions, wherein an application has a first plurality of tailored distinct programming interfaces available to access a plurality of separate sets of I/O services provided through the operating system via service requests.
4. The computer system defined in claim 3 wherein service requests are transferred as messages in a messaging system. 5. The computer system defined in claim 4 wherein each of the plurality of servers supports a message port. 6. The computer system defined in claim 3 wherein at least one of the plurality of servers is responsive to service requests from applications and from at least one other set of I/O services. 7. The computer system defined in claim 3 wherein the operating system further comprises a plurality of activation models, wherein each of the plurality of activation models is associated with one of the plurality of servers to provide a runtime environment for the set of I/O services to which access is provided by said one of the plurality of servers. 8. The computer system defined in claim 7 wherein at least one instance of a service is called by one of the plurality of servers for execution in an environment set forth by one of the plurality of activation models. 9. A computer system comprising: - a bus;
- at least one memory coupled to the bus for storing data and programming instructions that comprise applications and an operating system;
- a processing unit coupled to the bus and running the operating system and applications by executing programming instructions, wherein the operating system provides computer system services through a tailored distinct one of a plurality of program structures, each tailored distinct program structure comprising:
- a first programming interface for receiving service requests for a set of computer system I/O services of a first type,
- a first server coupled to receive service requests and to dispatch service requests to the computer system I/O services,
- an activation model to define an operating environment in which a service request is to be serviced by the set of computer system I/O services, and
- at least one specific instance of the set of computer system I/O services that operate within the activation model.
10. The computer system defined in claim 9 wherein the first programming interface is responsive to request from applications and from other program structures. 11. The computer system defined in claim 9 wherein the first programming interface comprises at least one library for converting functions into messages. 12. The computer system defined in claim 9 wherein the first server receives a message corresponding a service request from the first programming interface, maps the message into a function called by the client, and then calls the function. 13. The computer system defined in claim 9 wherein the message comprises a kernel message. 14. A computer system comprising: - a bus;
- at least one memory coupled to the bus for storing data and programming instructions that comprise applications and an operating system;
- a processing unit coupled to the bus and running the operating system and applications by executing programming instructions, wherein the operation system provides input/output (I/O) services through a tailored distinct one of plurality of program structures, each tailored distinct program structure comprising:
- a first programming interface for receiving service requests for a set of I/O services of a first type,
- a first server coupled to receive service requests and to dispatch service requests to the I/O services,
- an activation model to define operating environment in which a service request is to be serviced by the set of I/O services, and
- at least one specific instance of the set of I/0 services that operate within the activation model, wherein one of the said at least one specific instances comprises a service that accesses another program structure, and further wherein said one of said at least one specific instances communicates to said another program structure of a second type using a message created using a library sent to the server of said another program structure.
15. The computer system defined in claim 9 wherein two or more I/O services share code or data. 16. The computer system defined in claim 15 wherein said two or more I/O services are different types. 17. The computer system defined in claim 9 wherein the program structure further comprises a storage mechanism to maintain identification of available services to which access is provided via the first server. 18. A computer implemented method of accessing I/O services of a first type, said computer implemented method comprising the steps of: - generating a service request for a first type of I/O services;
- a tailored distinct family server, operating in an operating system environment and dedicated to providing access to service requests for the first type of I/O service, receiving and responding to the service request based on an activation model specific to the first type of I/O services; and
- a processor running an instance of the first type of I/O services that is interfaces to the file server to satisfy the service request.
19. The method defined in claim 18 wherein the service request is generated by an application. 20. The method defined in claim 18 wherein the service request is generated by an instance of an I/O service running in the operating system environment. |