Devices as services in a decentralized operating system
First Claim
1. A computer subsystem device of a networked system, the device comprising:
- one or more processors;
services executing in the device, at least one of the services having a unilateral contract that describes one or more behaviors and a port identifiable by an identifier, the port being associated with one or more behavioral types as specified by the unilateral contract and the device communicates with a different device of the networked system based on a compatibility of the one or more behavioral types of the port of the device and one or more behavioral types of a port specified in a different unilateral contract of the different device, the services include;
an information service to produce a customizable tag-based message that includes a summary of device properties that a service represents;
a data service to;
receive one or more messages indicating one or more events consumed by an application service, the one or more events being generated by the at least one of the services;
include, in a customizable tag-based message, a description of events which have been generated by the at least one of services but not yet consumed by the application service based in part on the one or more messages; and
respond to queries regarding the events.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention transform devices into Web services or special-purpose servers that are capable of communicating with personal computers. Various embodiments of the present invention allow various low-level aspects of device drivers to reside in the devices, eliminating the need for the devices to be compatible with legacy specification. Various embodiments of the present invention allow various devices to be shipped from the factory with low-level software already built in so that users are liberated from having to deal with the experience of installing and upgrading device drivers. In various embodiments of the present invention, each device is preferably a network node identifiable by a Uniform Resource Identifier (URI).
-
Citations
19 Claims
-
1. A computer subsystem device of a networked system, the device comprising:
- one or more processors;
services executing in the device, at least one of the services having a unilateral contract that describes one or more behaviors and a port identifiable by an identifier, the port being associated with one or more behavioral types as specified by the unilateral contract and the device communicates with a different device of the networked system based on a compatibility of the one or more behavioral types of the port of the device and one or more behavioral types of a port specified in a different unilateral contract of the different device, the services include; an information service to produce a customizable tag-based message that includes a summary of device properties that a service represents; a data service to; receive one or more messages indicating one or more events consumed by an application service, the one or more events being generated by the at least one of the services; include, in a customizable tag-based message, a description of events which have been generated by the at least one of services but not yet consumed by the application service based in part on the one or more messages; and respond to queries regarding the events. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- one or more processors;
-
13. A computer-implemented method for processing input/output events by devices, the method comprising:
-
requesting, by a computing system configured to represent devices as services, a service representing a device for an input/output event, the service including a unilateral contract for; describing one or more behaviors of the service; and specifying an order of messages that flow in or out of the service; receiving, by the device via a network from an application service external to the computing system, a customizable tag-based document that describes a shape of a cursor, the customizable tag-based document including image data comprising a bitmap image and a bitmap mask specifying pixels that comprise the cursor and offset data specifying an offset between the pixels and a location pointed to by the cursor; requesting the service to change a cursor shape based in part on the customizable tag-based document; receiving a customizable tag-based message that contains a state of the service representing the device and the input/output event that has been generated by the service representing the device; and requesting the service to remove the input/output event. - View Dependent Claims (14, 15)
-
-
16. A computer subsystem device of a networked system, the device to:
execute, by one or more processors, one or more services including; an information service to; produce a customizable tag-based document that holds a summary of device properties that a device service represents; and store the customizable tag-based document that holds the summary until requested by an application service; a data service to; receive at least one message from the application service indicating at least one event generated by the one or more services that has been consumed by the application service; produce a customizable tag-based document, based in part on the at least one message, that holds events which have been generated by the one or more services but not yet consumed by the application service; hold a state of the one or more services; and store the customizable tag-based document that holds the events not yet consumed by the application service; a port identifiable by an identifier that includes a unique designation of another service, the port endued with behavioral types specified by a unilateral contract, wherein the unilateral contract specifies; a regulation of the service by specifying attaching behavioral conditions to files to govern access control; an order of messages that flow in or out of the service; and creation of an instance of communication, after being accepted by an external second service, between the service and the external second service, the external second service agreeing to perform the unilateral contract according to the order of messages specified in the unilateral contract. - View Dependent Claims (17, 18, 19)
Specification