|Publication number||US7243146 B2|
|Application number||US 09/999,514|
|Publication date||Jul 10, 2007|
|Filing date||Oct 24, 2001|
|Priority date||Oct 24, 2001|
|Also published as||DE10248041A1, US20030079006|
|Publication number||09999514, 999514, US 7243146 B2, US 7243146B2, US-B2-7243146, US7243146 B2, US7243146B2|
|Inventors||Craig R. White, Binnur Al-Kazily|
|Original Assignee||Hewlett-Packard Development Company, L.P.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (9), Referenced by (2), Classifications (21), Legal Events (6)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates generally to networked devices, and more particularly to automated asset tracking methods and apparatuses for use therein.
There is continued effort to connect computers and other devices together to meet the needs of a variety of different users. Consequently, both wired and wireless networks are becoming more and more common in businesses, organizations, and homes. These networks allow for data to be transferred between the various devices and also processes/processing to be selectively distributed and/or centralized, as needed. Moreover, such networks allow for certain networked devices or resources to be shared by a plurality of other devices. One common example of a shared resource is a printer. Here, for example, a laser printer may be configured to support several different users/computers. Another common example of a shared device is a server. A server may be configured for access by different users/computers. Many other types of devices may likewise be configured as a shared resource.
In certain situations, it is often necessary for the users, network administrators and/or other various others to understand how well the networked devices, including the shared resources, and the network are performing. To understand or otherwise analyze the performance of these devices/resources, performance monitoring applications/programs may be run on a networked computer or other like networked device to collect and record selected operational parameters and provide such information to an interested party. Many of these programs also provide analysis tools and/or perform automated analysis. In certain configurations, such programs may also be implemented so as to modify the operation of the network or networked devices, for example, in an effort to increase operational efficiency, address identified problems, etc.
These and similar programs are usually designed to collect and store the current status of selected networked devices. The status, for example, may indicate if the device is operating properly. The status may also include, for example, information about the number of tasks performed over a given period of time and/or a record identifying other devices that have accessed or otherwise communicated with the device providing its status. While such status reports may be useful for a variety of purposes, there is typically a lack of detailed information regarding how individual data files have been processed.
It would be beneficial to understand how an individual data file has been processed, accessed, or otherwise used, by various networked devices, programs running thereon, and/or users associated therewith. Hence, there is a need for methods and apparatuses that can provide such information and other similar information. Preferably, the methods and apparatuses will not significantly degrade the performance of the various networked devices, or otherwise substantially alter the operation of the various networked devices.
In accordance with certain aspects of the present invention, methods and arrangements are provided which monitor, or otherwise collect and record information about how an individual data file has been processed, accessed, or otherwise used, by various networked devices, programs running thereon, and/or users associated therewith. The methods and arrangements may be configured in such manner so as to not significantly degrade the performance of the various networked devices, or otherwise substantially alter the operation of the various networked devices.
By way of example, the above stated needs and others are satisfied by a method that includes providing a workflow that includes at least one processing mechanism, associating at least one parameter with the processing mechanism, processing at least a portion of a data file according to the workflow using the processing mechanism, and recording information regarding the parameter. For example, information regarding the parameter(s) may be recorded within a resulting processed data file that is saved. Thus, in this instance, the processed data file may include a metadata portion that includes the information regarding the parameter(s). The method may then further include selectively retrieving the information regarding the recorded parameter(s) from the resulting processed data file. In other exemplary implementations, the method may include providing information regarding the parameter(s) to a database and thereafter selectively retrieving such information from the database.
In certain implementations, for example, the processing mechanism may include an application program, a driver program, a communication program, a coding program, a decoding program, a data conversion program, a database program, an operating system program, or other like processing/process-supporting mechanism. With this in mind, the processing mechanism may include a computer, a server, a communication device, a peripheral device, a printing device, a scanning device, an imaging device, an entertainment device, and the like.
The parameter(s) may, for example, include a processing mechanism time parameter, a processing mechanism communication parameter, a processing mechanism identity parameter, a processing mechanism status parameter, a processing mechanism error parameter, a processing mechanism resource parameter, and/or other like parameters. In certain implementations, the data file may include identifying data, textual data, numerical data, image data, video data, audio data, and control data, for example.
In accordance with certain other aspects of the present invention, an apparatus is provided to meet the above stated needs and others. Here, the apparatus includes processing logic that is configured to process at least a portion of a data file and output a resulting processed data file, and agent logic operatively configured to include additional data in the resulting processed data file. The additional data is related to at least one processing parameter associated with the processing logic.
A more complete understanding of the various methods and apparatuses of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
One common type of file processing workflow is one that supports the printing of a file from a desktop computer that is connected to a network along with a printing device (e.g., a printer, copier, etc.). Using an application, such as, for example, a word processor, spreadsheet, etc., a user can initiate a print job by selecting the appropriate print command. The file is then, in this example, provided by the application to one or more drivers on the desktop computer. The driver(s) processes the file accordingly, and the resulting file may then be provided over the network to one or more servers, for example. Within the server(s), additional drivers or other programs may further process the resulting file. The resulting processed file may then be transferred over the network to a printer or like device, which may further process the file to prepare the data for printing. In certain situations, finishing information such as, e.g., stapling, collating, etc., may also need to be identified in the resulting print job.
In this simple case, it is not easy to track which of these and other processing mechanisms actually processed the file. Moreover, in the past it has not been a trivial task to gather such information about these and other assets, which are utilized in processing the file. For example, it may be useful to know the amount of time that a given processing mechanism takes to process a file, if there were any delays in the processing, if there were any errors, what and how many physical resources were needed (e.g., the amount of paper, ink, staples, etc.). In the past, such tracking would require a significant amount of manual work.
While such forms of advanced asset tracking may not be appropriate for all systems, there are instances where certain assets may need to be tracked more than others. By way of example, in a printing environment, tracking the amount of ink, especially expensive ink, used during a specific printing job may prove useful for billing purposes. In other systems, for example, it may be beneficial to track the usage of an application by a specific computer/user as per a specific file. In still other systems, there may be a need to analyze the processing of a file according to a specified workflow to better control costs, improve efficiency, eliminate bottlenecks, or otherwise monitor/modify assets in the workflow.
To meet these needs and others, in accordance with certain exemplary aspects of the present invention, recording functionality is provided within selected processing mechanisms in the workflow. The recording functionality causes certain tracking information associated with the various processing mechanisms to be included in the resulting processed file (or to be otherwise recorded). In this manner, retrieval functionality can be provided to retrieve/examine the tracking information, at any point in the workflow or at any subsequent point in time (provided the resulting processed file has been saved).
In accordance with certain further aspects of the present invention, managing functionality may also be provided. The managing functionality can be arranged to install/update the recording functionality, for example. The managing functionality may also be configured to select at least one parameter applicable with an individual processing mechanism that is to be recorded by the associated recording functionality.
These exemplary functionalities advantageously provide an automated asset tracking mechanism that can be tailored to meet the specific needs of individual devices and/or all or part of the overall system. In addition to printing related workflows, the functionalities provided herein may be adapted for use with other file handling workflows.
In accordance with certain exemplary implementations of the present invention, the recording functionality can be provided by asset agent logic that is operatively associated with a specific processing mechanism. For an exemplary printing job, the asset agent logic may gather and include tracking information such as, e.g., the time that a print job arrived at the processing mechanism, the time that the processed job left or was otherwise completed by the processing mechanism, the size of the print job processed, the amount of disk space used for the print job, and other like information which may be useful in tracking the asset.
The asset agent logic can, for example, be operatively provided in the form of computer implementable instructions for certain processing mechanisms. Thus, in some managed systems, a management application, which provides the managing functionality, can be used to distribute, install, and/or update such asset agent software. The management application may also provide the retrieval functionality.
In addition to providing the asset agent logic to each selected processing mechanism, additional asset agent meta-data can be operatively provided to each selected processing mechanism. Here, the asset agent meta-data can be configured to identify one or more parameters associated with the asset agent logic that are to be monitored and recorded as described above by the asset agent logic.
A block diagram is provided in
As shown, networked environment 100 includes a computer 102 that is connected (i.e., operatively coupled) to a network 104. Computer 102 may be any type of computer that is capable of sharing information in the form of data with other devices over network 104. Thus, for example, computer 102 may include a conventional personal computer, workstation, etc. Network 104 is representative of any data communication link(s) capable of carrying information in the form of data between two or more connected devices. Thus, for example, network 104 may include conventional wired and wireless data communication links, networks, and the like. In certain configurations, network 104 represents the Internet, an intranet, etc.
Several other exemplary devices are also connected to network 104. Here, for example, a printer 106, a server 108, a scanner 110, and a copier 112 are each shown as being connected to network 104. Additionally, a representative device 114 is also shown as being connected to network 104. Device 114 can be any device that includes or otherwise provides a processing mechanism suitable for processing all or part of a data file that can be shared with at least one other device via network 104.
Of interest in the exemplary implementations as described herein, are the workflows that can be arranged to process a file in a certain manner in support of a file printing process. As used in these examples, the workflow establishes at least some of the processing mechanisms provided within one or more devices that are included in the file printing process.
With this in mind,
Here, initial file 202 includes content 204. In this example, content 204 may include data representing any type of printable information. Initial file 202 is provided to a workflow engine 206. Workflow engine 206 is configured to establish an applicable workflow based on initial file 202, which may also include print selection information (not shown), and workflow definitions 208. Workflow definitions 208 provide previously defined workflow steps. Examples of the information provided by workflow definitions 208 may include an end of the month report, a presentation report, and the like. Each of these workflow definitions would define a different set of workflow steps and/or a different ordering of such steps. Workflow engines such as these are well known.
In the example presented in
Also depicted in
A meta-data collection 229 is also depicted as being included in management console 230 and operatively associated with agent installer 228. Meta-data collection 229 includes various meta-data that can be selectively provided in meta-data 213, 217, and/or 221 to define one or more parameters therein, for which tracking information is to be recorded and or otherwise included in the resulting processed file by the respective processing mechanism.
Exemplary consumables management tracking parameters include the amount of ink that is required to print all or part of the file, the amount/type of print media required, finishing materials required, an amount/cost for these and other consumables needed to print all or part of the file per a print job. These values may be estimates in some cases. Another tracking parameter may correlate the costs to a particular billing account, for example, based on an identified print job submitter or other like identifying information. Exemplary print spooler tracking parameters include the time that a print job arrived at the print spooler, the time that the processed job left the print spooler, the size of the print job processed, the amount of disk space used for the print job, etc. Exemplary printing device tracking parameters include processing timestamps (e.g., start, end, etc.), number of pages printed, type of media used, finishing steps, certain error information, and the like.
A resulting processed file 202′ is shown in
In this example, a resulting processed file 203′ is subsequently correlated back to a tracking database 240 through an associated file identifier that is initially provided by tracking database 240 and included as additional information in the file. Here, for example, workflow engine 206′ is configured to request a file identifier 242 from tracking database 240 and include information representing file identifier 242 in the initial file, as illustrated by file 203. Thereafter, the selected processing mechanisms 210, 218 and 224 each provide applicable tracking information to tracking database 240 along with file identifier 242. Tracking database 240 is preferably configured to allow for the operative storage and selective retrieval of the tracking information based at least on file identifier 242, for example. Those skilled in the art will recognize that tracking database 240 may also be configured to selectively retrieve recorded information based on other data, and/or for similar types of data associated with a plurality of processed files.
With the exemplary workflows depicted in
In step 308, the next workflow step is executed using file 310. If this is the first workflow step, then, for the configuration in
Next, in step 312, a decision is made as to whether an asset agent is installed at the processing mechanism associated with the current workflow step. If there is no asset agent installed, then process 300 returns to step 306. If there is an asset agent installed in the processing mechanism associated with the current workflow step, then process 300 continues to step 314. In step 314, one or more tracking parameters are retrieved from the meta-data associated with the installed asset agent installed in the processing mechanism associated with the current workflow step.
In step 318, tracking information associated with the retrieved parameter(s) is provided. In the configuration of
Although some preferred implementations of the various methods and apparatuses of the present invention have been illustrated in the accompanying drawings and described in the foregoing detailed description, it will be
understood that the invention is not limited to the exemplary implementations disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5745901 *||Nov 8, 1994||Apr 28, 1998||Kodak Limited||Workflow initiated by graphical symbols|
|US5774661 *||Apr 18, 1995||Jun 30, 1998||Network Imaging Corporation||Rule engine interface for a visual workflow builder|
|US5826020 *||Sep 18, 1996||Oct 20, 1998||Hewlett-Packard Co.||Workflow real time intervention|
|US5918226 *||Jan 11, 1996||Jun 29, 1999||Nec Corporation||Workflow system for operating and managing jobs with predicting future progress of workflow job|
|US5960404 *||Aug 28, 1997||Sep 28, 1999||International Business Machines Corp.||Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation|
|US5978836 *||Jul 28, 1997||Nov 2, 1999||Solectron Corporation||Workflow systems and methods|
|US6073109 *||Dec 12, 1996||Jun 6, 2000||Action Technologies, Inc.||Computerized method and system for managing business processes using linked workflows|
|US6728947 *||Jun 5, 1998||Apr 27, 2004||R. R. Donnelley & Sons Company||Workflow distributing apparatus and method|
|US20030120593 *||Aug 15, 2002||Jun 26, 2003||Visa U.S.A.||Method and system for delivering multiple services electronically to customers via a centralized portal architecture|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8903886 *||Jul 3, 2012||Dec 2, 2014||Ricoh Company, Limited||Method, apparatus, and computer program product for processing workflow|
|US20130013662 *||Jul 3, 2012||Jan 10, 2013||Ricoh Company, Limited||Method, apparatus, and computer program product for processing workflow|
|U.S. Classification||709/224, 709/228, 717/100, 709/202, 717/103|
|International Classification||G06Q10/10, H04L29/08, G06F15/173, H04L29/06, G06F9/50|
|Cooperative Classification||H04L67/2804, H04L67/10, H04L69/329, G06Q10/10, G06F9/50, H04L29/06|
|European Classification||G06F9/50, G06Q10/10, H04L29/08N9, H04L29/06, H04L29/08N27A|
|Apr 22, 2002||AS||Assignment|
Owner name: HEWLETT-PACKARD COMPANY, COLORADO
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WHITE, CRAIG R.;AL-KAZILY, BINNUR;REEL/FRAME:012854/0450;SIGNING DATES FROM 20011017 TO 20011019
|Sep 30, 2003||AS||Assignment|
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492
Effective date: 20030926
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.,TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:014061/0492
Effective date: 20030926
|Nov 30, 2010||FPAY||Fee payment|
Year of fee payment: 4
|Feb 20, 2015||REMI||Maintenance fee reminder mailed|
|Jul 10, 2015||LAPS||Lapse for failure to pay maintenance fees|
|Sep 1, 2015||FP||Expired due to failure to pay maintenance fee|
Effective date: 20150710