Systems for schema-facilitated device capability discovery
First Claim
Patent Images
1. A computing device comprising:
- one or more computer-readable storage media;
one or more processors;
computer-readable instructions on the one or more computer-readable storage media which, when executed by the one or more processors, cause the one or more processors to execute a method comprising;
building a protocol-independent query translatable across multiple port monitors each of which being associated with a different connectivity type, wherein the query is configured to discover a communicatively linked device'"'"'s properties or capabilities, wherein said act of building is performed by a device driver, and wherein the query is structured using a schema that comprises multiple nodes arranged in a hierarchical structure, wherein individual nodes are associated with the communicatively linked device'"'"'s properties or data values, wherein one property node comprises a device information node that pertains to data that is associated with the device, and wherein the device information node comprises a child manufacturer node associated with a device manufacturer;
translating the query into a protocol-appropriate format for communication to the communicatively linked device, wherein translating is performed remotely from the communicatively linked device by one or more of the port monitors; and
communicating the query to the communicatively linked device.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems use a standard schema to describe the capabilities of a peripheral device, such as a printer device, in a structured and easily discoverable way. The schema can allow different peripheral device implementations to describe their capabilities in a consistent way to those entities that might query for the capabilities. The schema syntax can allow for direct querying of individual values, as well as for querying whole sections of the schema so that an accurate and complete understanding of the device can be gleaned.
32 Citations
23 Claims
-
1. A computing device comprising:
-
one or more computer-readable storage media; one or more processors; computer-readable instructions on the one or more computer-readable storage media which, when executed by the one or more processors, cause the one or more processors to execute a method comprising; building a protocol-independent query translatable across multiple port monitors each of which being associated with a different connectivity type, wherein the query is configured to discover a communicatively linked device'"'"'s properties or capabilities, wherein said act of building is performed by a device driver, and wherein the query is structured using a schema that comprises multiple nodes arranged in a hierarchical structure, wherein individual nodes are associated with the communicatively linked device'"'"'s properties or data values, wherein one property node comprises a device information node that pertains to data that is associated with the device, and wherein the device information node comprises a child manufacturer node associated with a device manufacturer; translating the query into a protocol-appropriate format for communication to the communicatively linked device, wherein translating is performed remotely from the communicatively linked device by one or more of the port monitors; and communicating the query to the communicatively linked device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device comprising:
-
one or more computer-readable storage media; one or more processors; computer-readable instructions on the one or more computer-readable storage media which, when executed by the one or more processors, cause the one or more processors to execute a method comprising; receiving a query that is configured to discover whether or not the device has a property or capability, wherein the query is structured using a schema that comprises multiple nodes arranged in a hierarchical structure, wherein individual nodes are associated with the device'"'"'s properties or data values, and wherein the query'"'"'s schema string identifies the certain property or capability, wherein a property node comprises a device information node that pertains to data that is associated with the device, and wherein the device information node comprises a child manufacturer node associated with a device manufacturer; responsive to receiving said query, generating a response in a schema-appropriate format, wherein the response includes a data value indicative of whether or not the device has the property or capability; and sending the response to an entity from which the query was received. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computing device comprising:
-
one or more computer-readable storage media; one or more processors; computer-readable instructions on the one or more computer-readable storage media which, when executed by the one or more processors, cause the one or more processors to execute a method comprising; building a protocol-independent query translatable across multiple port monitors each of which being associated with a different connectivity type, wherein the query is configured to discover a printer'"'"'s properties or capabilities, wherein said act of building is performed by a device driver, and wherein the query is structured using a schema that comprises multiple nodes arranged in a hierarchical structure, wherein individual nodes are associated with the printer'"'"'s properties or data values, wherein one or more property nodes comprise at least one of the following; a printer information node that pertains to data that is associated with the printer, wherein the printer information node comprises a child manufacturer node associated with a printer manufacturer; a configuration node that pertains to configuration data that is associated with the printer, wherein the configuration node comprises; a child memory node that contains values associated with the memory installed on the printer, wherein the memory node comprises a child node associated with memory size, and a child node associated with an amount of memory available to a Postscript interpreter; a child hard disk node that contains values associated with a hard disk installable on the printer, wherein the hard disk node comprises a child node that represents whether a hard disk is installed on the printer, a child node that represents the capacity of an installed hard disk, and a child node that represents currently available free space of an installed hard disk; and a child duplex node that contains values associated with a duplex print attachment on the printer, wherein the duplex node comprises a child node that represents whether a duplex print unit is installed on the printer; a consumables node that pertains to information associated with consumable supplies in the printer, wherein the consumables node comprises a child type node that corresponds to a consumable type on the printer, wherein the type node comprises a child color node that corresponds to the color of a consumable, and wherein the color node comprises a child installed node that represents whether a consumable is installed on the printer, a child display name node that represents a localized name for a particular consumable, and a child level node that represents a current level of a referenced consumable; a layout node that pertains to data associated with how a print job is applied on a page, wherein the layout node comprises; a child number up node that contains information associated with how many logical pages would be placed on a single page of media and which direction to layout multiple pages, wherein the number up node comprises a child pages per sheet node that contains values associated with how many data stream pages would be placed on a single side of a selected media, a child direction node that contains values associated with which order/direction to place local pages on a selected media; a child orientation node that contains information associated with which orientation pages would be printed; a child resolutions node that contains information associated with which print resolutions are supported by the printer; and a child input bin node that contains information describing device input bins, wherein the input bin node comprises a child current value node that represents the current default input bin, a child tray name node that is associated with individual input bins, wherein a child tray name node holds a value associated with a vendor-provided tray name, wherein child tray name nodes comprise a child installed node that represents whether a bin is installed, a child display name node that represents a localized name, a child media size node that represents the size of media available from an associated bin, a child media type node that represents the type of media available from an associated bin, a child media color bin that represents the color of media available from an associated bin, a child feed direction node that represents which paper edge enters a media path first for an associated bin, a child capacity node that represents capacity in sheets of an associated bin, and a child level node that represents a percent of remaining capacity for an associated bin; a finishing node that pertains to how a print job is composed upon completion, wherein the finishing node comprises; a child collation supported node that represents whether the printer supports hardware collation of printed documents; a child jog offset supported node that represents whether the printer supports offsetting separate copies of a print job or separate print jobs in printer output trays; a child staple node that contains information describing the printer'"'"'s stapling features, wherein the staple node comprises a child installed node that represents whether the printer has a stapling feature installed, a child location node that contains values associated with staple locations that are applied to output pages, and a child angle node that contains values associated with the angle at which staples are applied to output pages; a child hole punch node that contains information describing a printer'"'"'s hole punch features, wherein the hole punch node comprise a child installed node that represents whether the printer has a hole punch feature installed, a child pattern node that pertains to hole punch patterns that are punched into output pages, and a child edge node that contains values that pertain to paper edges that holes are punched into output pages; and a child output bins node that contains information that describes a printer'"'"'s output bins, wherein the output bins node comprises a child current value node that represents a current default output bin, and a child tray name bin associated with the name of an output bin; and a status node that pertains to a current state of the printer, wherein the status node comprises; a child summary node that contains values associated with a summary of the current printer state, wherein the summary node comprises a child state node that represents the processing state of the printer, and a child state reason node that represents selected reasons for a particular printer state; and a child detailed node that contains information associated with a detailed list of problems or information conditions currently active in the printer, wherein the detailed node comprises a child event node that contains information associated with a particular event; translating the query into a protocol-appropriate format for communication to the printer, wherein translating is performed remotely from the printer by one or more of the port monitors; and communicating the query to the printer. - View Dependent Claims (22, 23)
-
Specification