Accessing hardware devices using web server abstractions
First Claim
1. A method for accessing hardware devices by a hardware device server, the method comprising:
- receiving a Hypertext Transfer Protocol (HTTP) request by the hardware device server from a device protocol translator that accepts application programming interface (API) calls from a requesting application for initiating hardware device access and receiving any resulting status and data, the request including a requested action to be taken and an identified hardware device for performing the requested action to be taken, the hardware device server being local to the identified hardware device;
authenticating the HTTP request from the device protocol translator by the hardware device server;
sending commands for the requested action to be taken to the identified hardware device from the hardware device server;
receiving a response from the identified hardware device by the hardware device server, the response including a status indication of whether the requested action succeeded and any received device data as a result of the requested action; and
sending a HTTP result to the device protocol translator by the hardware device server, the result including the received status indication and the received device data, the device protocol translator being included in the requesting application.
2 Assignments
0 Petitions
Accused Products
Abstract
In the new architecture, a client that desires access to a piece of hardware sends HTTP requests to a device server. The server receives a HTTP requests, accesses a device on behalf of the client, and send the device'"'"'s response back to the client in the form of an HTTP response. This architecture has three primary advantages. First, it offers a clean interface for clients where all devices are accessed as if they are web servers. Second, it helps make devices more secure whereby clients can be prevented from accessing hardware directly, and all device access is forced through the narrow HTTP access protocol and checked for compliance with a desired security policy. Third, since HTTP allows local and remote servers to be contacted, the proposed architecture makes it easy for clients to communicate with devices that are not physically co-resident with the client but which are accessible via a network connection.
-
Citations
17 Claims
-
1. A method for accessing hardware devices by a hardware device server, the method comprising:
-
receiving a Hypertext Transfer Protocol (HTTP) request by the hardware device server from a device protocol translator that accepts application programming interface (API) calls from a requesting application for initiating hardware device access and receiving any resulting status and data, the request including a requested action to be taken and an identified hardware device for performing the requested action to be taken, the hardware device server being local to the identified hardware device; authenticating the HTTP request from the device protocol translator by the hardware device server; sending commands for the requested action to be taken to the identified hardware device from the hardware device server; receiving a response from the identified hardware device by the hardware device server, the response including a status indication of whether the requested action succeeded and any received device data as a result of the requested action; and sending a HTTP result to the device protocol translator by the hardware device server, the result including the received status indication and the received device data, the device protocol translator being included in the requesting application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for accessing one or more hardware devices using arbitrary network protocols, the system comprising:
-
one or more device processors; and a non-volatile memory storing computer-executable instructions for execution by the one or more device processors, for implementing; a hardware device server that is operable to provide mediation, via at least one of the one or more device processors, for enabling hardware devices that are local to the hardware device server to respond to network protocol commands, by; receiving requests, as network protocol commands, using Hypertext Transfer protocol (HTTP) requests, from a device protocol translator that accepts application programming interface (API) calls from a requesting application for initiating hardware device access via the HTTP requests and receiving any resulting status and data, the requests including requested actions to be taken by the hardware devices, the device protocol translator being included in the requesting application, authenticating the HTTP requests from the device protocol translator by the hardware device server, sending commands for the requested actions to be taken to the hardware devices, and sending results, in network protocol format, as results in HTTP format, to the device protocol translator, the results including status indications and device data received from the hardware devices. - View Dependent Claims (16, 17)
-
Specification