Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles

Application of mobile agent in a workflow environment having a plurality of image processing and/or image forming apparatuses Number:7,054,899 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

Google
 

Top Breaking News
     Singer Whitney Houston Memorialized at Pre-Grammy Awards Gala by VOA News
     Greek Parliament to Vote on Austerity Measures by Diaa Bekheet
     Fans Mourn Singer Whitney Houston by Mike O'Sullivan

Title: Application of mobile agent in a workflow environment having a plurality of image processing and/or image forming apparatuses

Abstract: By simply logically connecting a client computer and an office apparatus together for a minimum required amount of time and allowing them to engage in a minimum required amount of interactions, the client computer can fully, easily, and expandably control a desired service of the office apparatus. In addition, the office apparatus can provide the client computer with response information required for processing in the client computer or can fully, easily, and expandably control a desired service provided by another apparatus. The present invention provides an office apparatus, a network system, and their control method all of which enable the above operations.

Patent Number: 7,054,899 Issued on 05/30/2006 to Yamamoto


Inventors: Yamamoto; Masahito (Tokyo, JP)
Assignee: Canon Kabushiki Kaisha (Tokyo, JP)
Appl. No.: 363025
Filed: July 29, 1999


Foreign Application Priority Data

Jul 31, 1998 [JP] 10-230086

Current U.S. Class: 709/202 ; 358/1.13; 709/201; 719/317
Current International Class: G06F 15/16 (20060101)
Field of Search: 700/90,213,225-227 358/500,487,479,475,474,471,468,443,462,407,406,404,402,43,1.14,1.15 709/310,313,317,202-203


References Cited [Referenced By]

U.S. Patent Documents
5550957 August 1996 Davidson et al.
5603031 February 1997 White et al.
5625757 April 1997 Kageyama et al.
6069707 May 2000 Pekelman
6085222 July 2000 Fujino et al.
6134580 October 2000 Tahara et al.
6333790 December 2001 Kageyama et al.
6401073 June 2002 Tokuda et al.
6441920 August 2002 Smith
2002/0042810 April 2002 Minami et al.
Foreign Patent Documents
0 634 719 Jan., 1995 EP
0 751 651 Jan., 1997 EP
07-121324 May., 1995 JP
09-179833 Jul., 1997 JP
09-330296 Dec., 1997 JP
10-80090 Mar., 1998 JP
1110143 Apr., 1999 JP
WO 95/00898 Jan., 1995 WO
WO 98/21662 May., 1998 WO
Primary Examiner: Lin; Wen-Tai
Attorney, Agent or Firm: Fitzpatrick, Cella, Harper & Scinto

Claims



What is claimed is:

1. An image processing apparatus which can be connected to an external apparatus via a network, said image processing apparatus comprising: reception control means for controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in said image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in mechanism from said image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; control means for controlling an image processing mechanism of said image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the image processing mechanism; memory management means for managing a memory area for executing the command train included in the received agent information; transmission control means for controlling, responsive to said control means terminating execution of the control program based on the command train, a transmission process of transmitting a process end notice to the external apparatus; and obtainment means for obtaining a reply to the process end notice from the external apparatus, wherein said memory management means releases the memory area for executing the command train included in the received agent information in response to said obtainment means obtaining the reply from the external apparatus.

2. An image processing apparatus according to claim 1, wherein, said control means controls the image processing mechanism to execute a print process, said transmission control means controls, responsive to the image processing mechanism terminating execution of the print process, a transmission process of transmitting a print end notice to the external apparatus so as to cause the display unit of the external apparatus to display a print end confirmation window, and said obtainment means obtains the reply sent from the external apparatus in response to a user of the external apparatus entering a print end confirmation.

3. An image processing apparatus according to claim 1, further comprising an execution means for executing the command train to determine whether a result of processing by the image processing mechanism is an unrecoverable error, and if the result of processing is an unrecoverable error, writing the occurrence of the unrecoverable error to a memory area which is dynamically reserved for the agent information as a data field.

4. An image processing apparatus which can be connected to a network comprising: reception control means for controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in said image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in function from said image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; control means for controlling an image processing mechanism of said image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the image processing mechanism; execution means for executing one of the series of processes described in the work flow to be executed in said image processing apparatus; and transmission control means for controlling, responsive to said execution means terminating execution of the one process, a transmission process of automatically transmitting the agent information from said image processing apparatus to the external image processing apparatus so as to cause the external image processing apparatus to execute the command train based on the work flow.

5. An image processing apparatus according to claim 4, wherein said image processing apparatus is a print apparatus and the external image processing apparatus is a filing apparatus.

6. An image processing apparatus according to claim 4, wherein said image processing apparatus is a printer, and wherein the work flow is programmed such that the printer executes a print process and then transmits image data for printing to the external image processing apparatus and such that the external image processing apparatus stores the image data.

7. An image processing apparatus according to claim 4, wherein said transmission control means controls the transmission process to copy the agent information in whole or in part and distributes the copied agent information to at least one external image processing apparatus such that the series of processes described in the work flow may be executed in parallel.

8. An image processing apparatus according to claim 4, wherein the agent information controls in the external image processing apparatus a process of voluntarily releasing a memory area reserved for the agent information while retaining the image data for printing processed by the agent information.

9. An image processing apparatus according to claim 4, wherein the image processing mechanism includes at least one of an image filing mechanism, a scanner mechanism and a printer mechanism.

10. A network system including an image processing apparatus and an external apparatus, said system comprising: input means for inputting agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in said image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in mechanism from said image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; control means for controlling an image processing mechanism of said image processing apparatus by executing, based on the command train included in the agent information input by said input means, a control program that controls the image processing mechanism; memory management means for managing a memory area for executing the command train included in the input agent information; transmission control means for controlling, responsive to said control means terminating execution of the control program based on the command train, a transmission process of transmitting a process end notice to said external apparatus; display control means for controlling a display process of displaying a process end confirmation window on a display unit of said external apparatus in response to the process end notice transmitted by said transmission control means; response means for sending a reply to the transmitted process end notice from said external apparatus to said image processing apparatus; and obtainment means for obtaining the reply sent by said response means, wherein said memory management means releases the memory area for executing the command train included in the received agent response to said obtainment means obtaining the reply from said external apparatus.

11. A system including a plurality of image processing apparatuses which can be connected to a network, each image processing apparatus comprising: reception control means for controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in said plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in said image processing apparatus and a second image process to be executed in an another of said plurality of image processing apparatuses which is different in function from said image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; control means for controlling an image processing mechanism of said image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the image processing mechanism; execution means for executing one of the series of processes described in the work flow to be executed in said image processing apparatus; and transmission control means for controlling, responsive to said execution means terminating execution of the one process, a transmission process of automatically transmitting the agent information from said image processing apparatus to another of said plurality of image processing apparatuses so as to cause said another image processing apparatus to execute the command train based on the work flow.

12. A control method for controlling an image processing apparatus which can be connected to an external apparatus via a network, said control method comprising: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in mechanism from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; a memory management step, of managing a memory area for executing the command train included in the received agent information; a transmission control step, of controlling, responsive to said control step terminating execution of the control program based on the command train, a transmission process of transmitting a process end notice to the external apparatus; and an obtainment step, of obtaining a reply to the process end notice from the external apparatus, wherein said memory management step includes releasing the memory area for executing the command train included in the received agent information in response to the reply being obtained from the external apparatus in said obtainment step.

13. A control method according to claim 12, wherein, said control step includes controlling the processing mechanism to execute a print process, said transmission control step includes controlling, responsive to the processing mechanism terminating execution of the print process, a transmission process of transmitting a print end notice to the external apparatus so as to cause the display unit of the external apparatus to display a print end confirmation window, and said obtainment step includes obtaining the reply sent from the external apparatus in response to a user of the external apparatus entering a print end confirmation.

14. A control method according to claim 12, further comprising an execution step, of executing the command train to determine whether a result of processing by the processing mechanism is an unrecoverable error, and if the result of processing is an unrecoverable error, writing the occurrence of the unrecoverable error to a memory area which is dynamically reserved for the agent information as a data field.

15. A control method for controlling an image processing apparatus which can be connected to a network, said control method comprising: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in function from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; an execution step, of executing one of the series of processes described in the work flow to be executed in the image processing apparatus; and a transmission control step, of controlling, responsive to said execution step terminating execution of the one process, a transmission process of automatically transmitting the agent information from the image processing apparatus to the external image processing apparatus so as to cause the external apparatus to execute the command train based on the work flow.

16. A control method according to claim 15, wherein the image processing apparatus is a printing apparatus and the external image processing apparatus is a filing apparatus.

17. A control method according to claim 15, wherein the image processing apparatus is a printer, and wherein the work flow is programmed such that the printer executes a print process and then transmits image data for printing to the external the image processing apparatus and such that the external the image processing apparatus stores the image data.

18. A control method according to claim 15, wherein said transmission control step includes controlling the transmission process to copy the agent information in whole or in part and distributing the copied agent information to at least one external image processing apparatus such that the series of processes described in the work flow may be executed in parallel.

19. A control method according to claim 15, wherein the agent information controls in the external image processing apparatus a process of voluntarily releasing a memory area reserved for the agent information while retaining the image data for printing processed by the agent information.

20. An office apparatus according to claim 15, wherein the processing mechanism includes at least one of an image filing mechanism, a scanner mechanism and a printer mechanism.

21. A computer program product embodying a program for implementing a control method of controlling an image processing apparatus which can be connected to an external apparatus via a network, said program comprising: program code for a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in mechanism from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; program code for a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; program code for a memory management step, of managing a memory area for executing the command train included in the received agent information; program code for a transmission control step, of controlling, responsive to said control step terminating execution of the control program based on the command train, a transmission process of transmitting a process end notice to the external apparatus; and program code for an obtainment step, of obtaining a reply to the process end notice from the external apparatus, wherein said memory management step releases the memory area for executing the command train included in the received agent information in response to said obtainment step obtaining the reply from the external apparatus, and wherein said product is embodied in a medium so as to be executable by an apparatus.

22. A computer program product embodying a program for implementing a control method of controlling an image processing apparatus which can be connected to a network, said program comprising: program code for a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in function from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; program code for a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; program code for an execution step, of executing one of the series of processes described in the work flow to be executed in the image processing apparatus; and program code for a transmission control step, of controlling, responsive to said execution step terminating execution of the one process, a transmission process of automatically transmitting the agent information from the image processing apparatus to the external image processing apparatus so as to cause the external apparatus to execute the command train based on the work flow, wherein said product is embodied in a medium so as to be executable by an apparatus.

23. A computer-readable memory medium which stores a program for controlling an image processing apparatus which can be connected to an external apparatus via a network, said memory medium comprising program codes that allow the image processing apparatus to execute: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in mechanism from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; a memory management step, of managing a memory area for executing the command train included in the received agent information; a transmission control step, of controlling, responsive to said control step terminating execution of the control program based on the command train, a transmission process of transmitting a process end notice to the external apparatus; and an obtainment step, of obtaining a reply to the process end notice from the external apparatus, wherein said memory management step includes releasing the memory area for executing the command train included in the received agent information in response to the reply being obtained from the external apparatus in said obtainment step.

24. A computer-readable memory medium which stores a program for controlling an image processing apparatus which can be connected to a network, said memory medium comprising program codes that allow the image processing apparatus to execute: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image processing apparatuses, wherein the work flow further describes a first image process to be executed in the image processing apparatus and a second image process to be executed in an external image processing apparatus which is different in function from the image processing apparatus, and wherein the work flow can be programmed such that the second image process is executed after execution of the first image process; a control step, of controlling an image processing mechanism of the image processing apparatus by executing, based on the command train included in the received agent information, a control program that controls the processing mechanism; an execution step, of executing one of the series of processes described in the work flow to be executed in the image processing apparatus; and a transmission control step, of controlling, responsive to said execution step terminating execution of the one process, a transmission process of automatically transmitting the agent information from the image processing apparatus to the external image processing apparatus so as to cause the external apparatus to execute the command train based on the work flow.

25. An image forming apparatus which can be connected to a network, said apparatus comprising: reception control means for controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image forming apparatuses, wherein the work flow further describes a first image process to be executed in said image forming apparatus and a second image process to be executed in an external image forming apparatus which is different in function from said image forming apparatus; control means for controlling an image forming mechanism of said image forming apparatus by executing, based on the command train included in the received agent information, a control program that controls the image forming mechanism; execution means for executing one of the series of processes described in the work flow to be executed in said image forming apparatus; and transmission control means for controlling a transmission process of transmitting the agent information from said image forming apparatus to the external image forming apparatus so as to cause the external image forming apparatus to execute the command train based on the work flow.

26. An image forming apparatus according to claim 25, wherein the work flow can be programmed such that the second image process in the external image forming apparatus is executed after execution of the first image process in said image forming apparatus.

27. An image forming apparatus according to claim 25, wherein said transmission control means controls the transmission process responsive to said execution means terminating execution of the one process.

28. An image forming apparatus according to claim 25, wherein said image forming apparatus is an image output apparatus that includes a printer and the external forming apparatus is an image input apparatus that includes a filing apparatus.

29. A control method for controlling an image forming apparatus which can be connected to a network, said control method comprising: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image forming apparatuses, wherein the work flow further describes a first image process to be executed in the image forming apparatus and a second image process to be executed in an external image forming apparatus which is different in function from the image forming apparatus; a control step, of controlling an image forming mechanism of the image forming apparatus by executing, based on the command train included in the received agent information, a control program that controls the image forming mechanism; an execution step, of executing one of the series of processes described in the work flow to be executed in the image forming apparatus; and a transmission control step, of controlling a transmission process of transmitting the agent information from the image forming apparatus to the external image forming apparatus so as to cause the external image forming apparatus to execute the command train based on the work flow.

30. A control method according to claim 29, wherein the work flow can be programmed such that the second image process in the external image forming apparatus is executed after execution of the first image process in the image forming apparatus.

31. A control method according to claim 29, wherein said transmission control step includes controlling the transmission process responsive to said execution step terminating execution of the one process.

32. A control method according to claim 19, wherein the image forming apparatus is an image output apparatus that includes a printer and the external forming apparatus is an image input apparatus that includes a filing apparatus.

33. A computer-readable memory medium which stores a program for controlling an image forming apparatus which can be connected to a network, said memory medium comprising program codes that allow the image forming apparatus to execute: a reception control step, of controlling a reception process of receiving agent information including a command train in which a work flow is programmed describing a series of processes to be executed in a plurality of image forming apparatuses, wherein the work flow further describes a first image process to be executed in the image forming apparatus and a second image process to be executed in an external image forming apparatus which is different in function from the image forming apparatus; a control step, of controlling an image forming mechanism of the image forming apparatus by executing, based on the command train included in the received agent information, a control program that controls the image forming mechanism; an execution step, of executing one of the series of processes described in the work flow to be executed in the image forming apparatus; and a transmission control step, of controlling a transmission process of transmitting the agent information from the image forming apparatus to the external image forming apparatus so as to cause the external image forming apparatus to execute the command train based on the work flow.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an office apparatus connected to a network, a network system connected to a network, and a method for controlling them, and in particular, to an office apparatus having a mobile agent execution environment, a network system having a mobile agent execution environment, and a method for controlling them.

2. Related Background Art

Most conventional office apparatuses individually provide closed functions without being connected to a network. In recent years, office apparatuses, which were individually used, have been connected to a network such as Ethernet so as to be shared by a plurality of computers acting as clients.

If client computers use such an office apparatus via a network, the conventional method allows these client computers to control this office apparatus. This method assumes that network connectivity is constantly maintained during office processing.

If, for example, a program executed on a workstation, a personal computer, or a portable information terminal device acting as a client computer uses a service that can be provided by an office apparatus, the client computer sends data required for an instruction (request) or processing, to a server program executed by this office apparatus in order to control the operation of the apparatus. Furthermore, the client computer receives a response or required data from the office apparatus. The client computer understands the contents of the response and correspondingly sends a new instruction (request) to the office apparatus.

Therefore, while client computers use a service provided by an office apparatus, interactions between the client computers and the office apparatus are repeated constantly.

In addition, there has recently been a demand for a system capable of combining together services provided by multiple office apparatuses connected to a network in order to implement work flow services. Such services automatically execute as a series of processing, processing conventionally implemented by a user moving among these apparatuses.

For example, a user searches an image file for desired image data. The image data is attached to a file in a PDL form created by a word processor in order to generate print data. The print data is printed by a printer as 20 copies for staple processing. Furthermore, this image data is sent to three destinations by facsimile. Services are required in which such multiple processings are executed as a series of processing by multiple cooperating office apparatuses connected to a network.

To meet this demand, an operation is conventionally repeated in which a single client computer is sequentially connected to multiple office apparatuses to control them using an interactive processing protocol. This operation has already combined multiple apparatuses to implement composite services.

On the other hand, in the field of distributed processing executed by a network consisting of only computers, remote procedure call techniques for executing distributed processing using the interactive processing protocol have been developed and techniques called "mobile agents" have been proposed in which program objects that can be executed by computers move through a network for distributed processing.

Known examples of implemented distributed processing systems using mobile agents include Telescript disclosed in U.S. Pat. No. 5,603,031 to General Magic and Aglets (utilizing Java) developed by IBM Tokyo Basic Research Institute.

An image processing apparatus and its control method have been proposed that receive a mobile agent to interpret a command train described in the received mobile agent in order to control the functions of a relevant apparatus (Japanese Patent Application No. 10-80090).

SUMMARY OF THE INVENTION

In the conventional control of office apparatuses via a network, however, a client computer and an office apparatus remotely installed via a network execute a client and a server processes, respectively. The client process is executed by a processor in a client computer to remote-control a service provided by an office apparatus; and the server process is executed by processor in an office apparatus to control the physical mechanism of the office apparatus in order to implement a service provided by the office apparatus. Consequently, the conventional method has the following problems.

First, in the conventional office apparatus control using continuous and interactive communication, detailed control, in particular, control for sophisticated information transmission from an office apparatus to a client computer is difficult due to the need to reduce network traffic.

That is, a client process sends a server process a request for a service or data required to process a service, and in response to this request, a server process controls the physical mechanism of an office apparatus to return a response or the result of processing to the client process. As the control of the requested service becomes more and more detailed, more and more such interactions must be repeated.

The requirement of the client computer's detailed control of a service provided by an office apparatus shared via a network has recently been considered to be particularly important. An attempt to meet this demand using interactive information exchanges based on the conventional control protocol may deteriorate network congestion. This forces users to use more expensive higher-performance client infrastructures. This is economically disadvantageous.

In addition, in conventional office apparatuses, once processing on an office apparatus has been completed, it is substantially difficult for the office apparatus to communicate information on the completed processing to the client computer. If, for example, a client computer remote-controls a printer via a network, it is essentially impossible to directly control this office apparatus using the interactive protocol because a spool of an application server for spooling a script for transferred data is interposed between the client computer and the printer.

For the above reasons, it is difficult or totally impossible in some systems for a client computer requesting printout from a printer to know the timing with which the last page of data has been printed out (the true completion of printing). Otherwise, the network traffic increases.

Second, if an office apparatus desires to provide sufficient information transmission to a client computer, it must simultaneously execute both its original processing and interactive processing with the client computer. Consequently, there are heavy loads on the processing system of the office apparatus, thereby increasing the costs of the office apparatus.

For example, in order to improve throughput, a printer that has executed printing requested by a client computer and has finished outputting the last page must simultaneously start both reporting to the client computer the result of processing concerning the request and executing the next printing requested by another client computer. To implement this operation, however, interactions must be maintained between the client and server processes using the control protocol as described above during the execution of processes required for the office apparatus to provide the service, for example, interpretation and expansion of PDL (Page Description Language), paper feeding, image formation, and ejection of output paper.

An office apparatus must concurrently carry out the control of its physical mechanism for providing services and communication via a network, so it is subjected to very heavy burdens. Such burdens are particularly heavy if the office apparatus is of a multi-client type that provides services in response to requests from multiple client computers.

In addition, for an office apparatus to maintain the control of its physical mechanism and communication via a network, a processor in the office apparatus must have high performance and memory of a large capacity. These requirements increase the costs of the office apparatus body.

Third, in the method for using a communication protocol to implement interactive processing for controlling an office apparatus, a command scheme for controlling the office apparatus must be designed as a protocol and implemented beforehand. Thus, if a new method for operating this office apparatus is developed in the future, the command protocol must be expanded and both the client and server processes changed so as to correspond to the new command protocol (version up) before the benefits of this method can be obtained.

This is cumbersome to users and updating programs requires high costs or is totally impossible particularly because programs for server processes incorporated in conventional office apparatuses, which are generally called "firmware", are located in non-volatile memory. Accordingly, services provided by office apparatuses cannot be expanded appropriately.

Exceptionally, a method may be contemplated in which a client computer sends an office apparatus a server program executed by this office apparatus so as to carry out interactive communication with a server process executed by this program. Alternatively, an office apparatus may dynamically download a relevant control program so as to allow a server process executed by this control program to interactively communicate with a client computer. Such methods can expand the control of apparatuses to some degree using the framework of Java but cannot solve the first and second problems described above.

In addition, conventionally, a client process executed by a client computer sequentially and interactively controls a service provided by an office apparatus using a network connection with a server process executed by this office apparatus, as described above. Thus, to combine multiple office apparatuses to implement work flow services, the client process must continue interactions with the server process executed by each office apparatus during a series of processing. Consequently, there are the following problems.

First, due to heavy burdens on a network infrastructure connecting a client process and multiple server processes together, the user must provide an expensive high-performance network infrastructure and this is economically disadvantageous. In addition, a network of a small bandwidth cannot provide sufficient functions. Furthermore, a dialup network making intermittent connections poses a problem during operation.

Second, due to heavy burdens on a computer infrastructure executing client processes, other processing that is to be executed on that terminal before the service has been completed makes little progress. Thus, the user must provide a more expensive higher-performance client computer and this is not economically disadvantageous.

Third, in the method for using a protocol to implement a series of interactive processing for controlling an office apparatus, a command scheme for controlling the office apparatus must be designed as a protocol and implemented beforehand. Thus, both the client and server processes must be carefully implemented so as to correspond to this protocol.

Consequently, it has been very difficult to effectively combine multiple office apparatuses so that a client computer allows these office apparatuses to execute free work flows.

Fourth, to avoid the unwanted congestion of network traffic caused by the intermediation among multiple office apparatuses carried out by a client computer to combine them together, the office apparatuses desirably directly communicate with one another along relevant work flows.

If, however, an office apparatus acts as a client computer, the above problem affects the client and server processes in this office apparatus, so the problem among the office apparatuses becomes more complicated than the problem between the client computer and the office apparatuses.

The present invention has been provided to solve these problems. By simply logically connecting a client computer and an office apparatus together for a minimum required amount of time and allowing them to be engaged in a minimum required amount of interactions, this invention can allow a client computer to fully, easily, and expandably control a service provided by an office apparatus. Thus, a first object of this invention is to provide an office apparatus, a network system, and a method for controlling them that provide the above function and that also allow the office apparatus to provide required response information to a client computer and to fully, easily, and expandably control desired services provided by other apparatuses.

A second object of this invention is to provide an office apparatus, a network system, and a method for controlling them wherein by simply logically connecting a client computer and an office apparatus together for a minimum required amount of time and allowing them to engage in a minimum required amount of interactions, a client computer can fully, easily, and expandably control a service provided by an office apparatus and wherein a function provided by a unitary office apparatus is easily combined with functions of other office apparatuses to implement a series of work flows.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory drawing showing an example of a network configuration of an office system including an image processing apparatus as an office apparatus according to a first embodiment of this invention;

FIG. 2 is a block diagram showing a general configuration of the inside of the image processing apparatus 1 shown in FIG. 1;

FIG. 3 is a vertical sectional view showing an example of a configuration of the printer engine 17 and scanner engine 18 shown in FIG. 2;

FIG. 4 is a typical hierarchy diagram showing the structure of data stored in the work memory 13 shown in FIG. 2 and also showing the structure of software processing a program code;

FIG. 5 is a conceptual drawing showing an example of a network packet with an object encoded therein;

FIG. 6 is a flowchart showing a procedure used by a mobile agent to process a command train for implementing a LIVE operation;

FIG. 7 is an explanatory drawing showing an example of a dialog displayed on a display device of a client computer 3;

FIG. 8 is a flowchart showing a procedure used by a mobile agent to process a command train for implementing a LIVE operation, the procedure being executed in an office system including an image processing apparatus as an office apparatus according to a second embodiment of this invention;

FIG. 9 is an explanatory drawing showing an example of a dialog displayed on the display device of the client computer 3;

FIG. 10 is an explanatory drawing showing an example of a dialog displayed on the display device of the client computer 3;

FIG. 11 is a network diagram showing an example of a configuration of an office system including an image processing apparatus as an office apparatus according to a third embodiment of this invention;

FIG. 12 is a flowchart showing a procedure used by a mobile agent to process a command train for implementing a LIVE operation;

FIG. 13 is an explanatory drawing showing an example of a dialog displayed on the display device of the client computer 3;

FIG. 14 is a flowchart showing a procedure used by a mobile agent to process a command train for implementing a LIVE operation, the procedure being executed in an office system including an image processing apparatus as an office apparatus according to a fourth embodiment of this invention; and

FIG. 15 is an explanatory drawing showing an example of a dialog displayed on the display device of the client computer 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of this invention will be described below with reference to the drawings.

(First Embodiment)

First, a first embodiment of this invention will be explained with reference to FIGS. 1 to 7.

FIG. 1 is an explanatory drawing showing an example of a network configuration of an office system including an image processing apparatus as an office apparatus according to a first embodiment of this invention. In this figure, an image forming apparatus is used as an example of an office apparatus.

In the figure, the office system comprises a first network composed of an image processing apparatus 1, multiple client computers 3, and the router 4 that are connected together via a local area network (hereafter referred to as "LAN") 2 and a second network composed of the router 7 and a remote client 8 connected together via a LAN 6. The first and second networks are connected to a wide area network 5 via the routers 4 and 7.

The LAN 2 implements mutual communication between the image processing apparatus 1 that is an office apparatus and another office apparatus (not illustrated) and the client computers 3. The client computer 3 comprises an input device such as a keyboard or a mouse that is used by a user for input and an output device such as a display that outputs information to a user. The client computer 3 is connected to the LAN 2.

The router 4 has a function of connecting the LAN 2 to another network to implement communication between apparatuses connected to these networks. The wide area network 5 interfaces with private line networks, Internet, and LANs that connect to a large number of networks. The router 7 connects the LAN 6 and the wide area network 5 together to enable the remote client 8 to remote-control the image processing apparatus 1.

FIG. 2 is a block diagram showing a configuration of control inside the image processing apparatus 1. In this figure, the image processing apparatus 1 is mainly composed of a network I/F 11 for transmitting data frames to and from the LAN 2, a CPU 12 consisting of a CPU or an MPU to execute various computations and to control the entire image processing apparatus, a work memory 13 for storing programs executed by the CPU 12 and data associated with the execution, a ROM 21 for storing programs executed by the CPU 12, the initial values of data associated with the execution, and data that must be saved before and after power-off, a non-volatile memory 14 consisting of a flash ROM, NVRAM, or HDD, an engine controller 15 for controlling various image processing engines, an image memory 16 for storing image data, a printer engine 17 that is an image processing engine for forming an image on transfer paper based on image data, and an scanner engine 18 that is an image processing engine for reading an image from a manuscript to form image data.

The network I/F 11, the CPU 12, the work memory 13, the ROM 21, the non-volatile memory 14, the engine controller 15, and the image memory 16 are connected together via a bus 19 to transmit various data such as control information and engine statuses to and from one another via the bus 19.

The printer engine 17 and the scanner engine 18 are connected to and controlled by the engine controller 15. In addition, the printer engine 17, the scanner engine 18, and the image memory 16 are connected to an image bus 20 to transmit image data to and from each other via the image bus 20.

FIG. 3 is a vertical sectional view showing an example of a configuration of the printer engine 17 and scanner engine 1B shown in FIG. 2. In FIG. 3, 101 is a manuscript feeding device for sequentially transferring manuscripts loaded on a manuscript table, onto the surface of a manuscript table glass 102. When a manuscript is transferred onto the manuscript table glass 102, a manuscript illuminating lamp 103 lights and a scanner unit 104 moves to illuminate the manuscript. Reflected light from the manuscript passes through a lens 108 via mirrors 105, 106, and 107 and is then input to a CCD image sensor 109. The manuscript feeding device 101, the manuscript table glass 102, the manuscript illuminating lamp 103, the scanner unit 104, the mirrors 105 to 107, the lens 108, and the CCD image sensor 109 constitute the scanner engine 18. The CCD image sensor 109 photoelectrically transforms the input image into image data and sends it to the printer engine 17.

The image data is input to an exposure control section 201 of the printer engine 17 and is transformed into an optical signal by the exposure control section 201. A photosensitive body 202 is irradiated with this optical signal. A developing machine 203 then develops a latent image formed on the photosensitive body 202 using this irradiation light. Simultaneously with the development, transfer paper is transported from a transfer paper accumulating section 204 or 205, and a transfer section 206 transfers the developed image to this transfer paper. A fixing section 207 fixes the transferred image to the transfer paper, which is then ejected from an ejection section 208 to the exterior of the apparatus. If a sorter 220 is executing a sorting function, the transfer paper output from the ejection section 208 is ejected to each pin, and otherwise it is ejected to the highest pin.

FIG. 4 is a typical hierarchy diagram showing the software structure of the image processing apparatus 1. This software is implemented by the CPU 12 processing the data structure and program codes stored in the work memory 13 shown in FIG. 2. If the non-volatile memory 14 is a ROM, program codes may be stored only in the non-volatile memory 14.

In FIG. 4, the software consists of four hierarchies each of which utilizes a service provided by its lower hierarchy.

The lowest layer is an OS, that is, a hierarchy for managing the execution contexts of programs as well as memories. The OS has incorporated therein three device drivers including a network I/F driver, a printer control driver, and a scanner control driver and cooperating with one another.

The network I/F driver is software that controls the network I/F 11. The printer control driver is software that controls the printer engine 17 via the engine controller 15 and the image memory 16. The scanner control driver is software that controls the scanner engine 18 via the engine controller 15 and the image memory 16.

The second lowest layer is various libraries. A thread library provides a thread function to a program using the thread library. A thread is a unit of parallel execution of software. Multiple threads within a single process have different execution contexts (a program counter, a stack, and a register) but shares a memory space. The thread may be called a "light weight process" because thread context switching requires a smaller amount of processing than process context switching.

A network I/F library uses the network I/F driver to implement data transmission via a network.

A printer control library uses the functions of the printer control driver to provide a printer control API (Application Programming I/F).

A scanner control library uses the functions of the scanner control driver to provide a scanner control API.

The third lowest layer is an interpreter. The interpreter provides an object execution environment. An object according to this embodiment is a subset of an object in a widely known object-oriented paradigm. That is, the object is a software structure comprising a set of data (a set of a number of attributes) and processing (a set of a number of operations) associated with a concept within a problem area. Each object exists autonomously and communicates with other objects (image passing) so that the group of objects are executed in parallel to achieve a series of processing.

The interpreter has an object scheduler (not shown) that intermittently provides a processing time of the processor to each object operating on the interpreter. The object scheduler uses the thread library to allow the objects to be virtually executed in parallel.

The interpreter also has an object decoder/encoder. The decoder encodes the script (a command train) and data for the object expanded on the memory in an executable form, into a bit train that can be transferred via the network so that the structure present on the memory can be substantially recovered.

FIG. 5 is a conceptual drawing showing an example of a network packet generated by encoding an object. As shown in this figure, a network packet is composed of a portion 501 obtained by encoding all data (a set of attributes) associated with the execution of the object and a command train portion 502 for the object.

Returning to FIG. 4, the highest layer is objects managed and executed on the interpreter.

A printer control object provides other objects with multiple operations performed to control the printer engine 17 via the printer control library, and functions as a representative object for the printer engine 17. That is, if in a command train for an object, a (message passing) command for calling an operation provided by a printer control object is executed, control for this operation is provided to the printer engine 17. Likewise, when an object calls an operation for extracting information from the printer control object, status information on the actual printer engine 17 can be obtained.

A scanner control object provides other objects with multiple operations performed to control the scanner engine 18 via the image scanner control library, and functions as a representative object for the scanner engine 18. That is, if in a command train for an object, a (message passing) command for calling an operation provided by a scanner control object is executed, control for this operation is provided to the scanner engine 18. Likewise, when an object calls an operation for extracting information from the scanner control object, status information on the actual scanner engine 18 can be obtained.

The printer and scanner control objects are particularly called a "resident agent". That is, when the interpreter is activated after the image processing apparatus 1 has been started up, it automatically generates, initializes, and activates the resident agent as its initial processing. The resident agent remains in this apparatus during the operation of the image processing apparatus 1. That is, for the resident agent, an infinite loop is configured inside a LIVE operation, which will be described below.

In FIG. 4, a mobile agent is an object capable of moving from one network node to another. The mobile agent plays the role of an agent for a job (for example, a print job).

In a command train, the mobile agent contains a command train for calling a GO operation. The GO operation means "movement". Upon discovering the GO operation during the interpretation of the command train for a mobile agent, the interpreter uses the object encoder to encode all data and command train associated with the current execution of the mobile agent. The interpreter then transfers a network packet with the mobile agent encoded therein to an interpreter in a node specified by the argument in the GO operation.

The interpreter that has received the transferred network packet uses the object decoder to decode this network packet into the memory space as an executable command train and data, and adds this mobile agent to the schedule targets of the object scheduler.

The transferred and decoded data associated with the execution of the mobile agent contains data (a program counter) indicating the position of the next command to execute for the mobile agent. Thus, the first command of the command train for the mobile agent executed by the interpreter of the destination node is the command next to the one executed by the interpreter of the source node last. In this manner, the mobile agent executes processing described in its command train while moving through network nodes having an execution environment (the interpreter) for the mobile agent.

All objects processed by the interpreter each have an operation defining processing required to initialize this object. When an object is generated, the interpreter first executes a command train defining this initializing operation.

In addition, the mobile and resident agents each have an operation defining a series of processing (hereafter referred to as a "LIVE operation"). Once the initialization of the object has been completed, the interpreter executes a command train defining the LIVE operation. Once the command train defining the LIVE operation has been completed, the interpreter removes the object to release all memory areas used only for this object.

An object can interact with another object by means of message passing. The memory space for the interpreter existing in each node significantly varies among the nodes. Thus, if, in a certain node, one mobile agent is to interact with another agent, the reference (the poi


Free Web Sudoku Puzzles.
Solve with your browser.
  7         2 9  
8         4      
  5     1       6
    8   2     1  
6     1   9     8
  3     7   6    
1       3     7  
      2         4
  2 9         8  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!