Abstract:
A method and system for enabling automatic service sharing and custom user interface features in a fleet of multi-function devices. EIP (Extensible Interface Platform) services can be registered via a peer-to-peer discovery subsystem associated with a multi-function device grid infrastructure. EIP service registration information can be submitted and stored in the grid infrastructure. The multi-function devices can be equipped with an enterprise EIP client, which can query the discovery subsystem and apply a corporate policy. The discovery subsystem detects the optimal instance of the service based on loading and availability factors and then returns a reference with respect to the services that allows access to enhanced services. Such an approach enables a fleet of multi-function devices to dynamically discover EIP services and auto populate service options to provide increased capability, reduced complexity, and improved speed.

Description:
TECHNICAL FIELD 
       [0001]    Embodiments are generally related to rendering devices such as printers, scanners, multi-function devices, photocopy machines, and the like. Embodiments are also related to extensible interface platforms associated with multi-function devices. Embodiments are additionally related to automatic service sharing and custom user interface features utilized in the context of a fleet of multi-function devices. 
       BACKGROUND OF THE INVENTION 
       [0002]    Networked multi-function devices generally interact with an assemblage of varying rendering devices, client computers, servers, and other components that are connected to and communicate over a network. An example of a typical multi-function device is a rendering device having combined printing, scanning, faxing, and/or photocopying capabilities. 
         [0003]    Multi-function devices generally support EIP (Extensible Interface Platform) services which permit custom services to be installed and represented in a GUI (Graphical User Interface) associated with the multi-function device. For example, an invoice button associated with such a GUI may, when selected, simultaneously transmit an invoice to a particular organizational department while archiving the information in an associated document management database for easy retrieval. Such EIP services typically require manual registration and configuration which can be a time-consuming and tedious process when a newly deployed service is required to appear with respect to a large number of multi-function devices. 
         [0004]      FIG. 1  illustrates a prior art EIP configuration network  100  associated with an EIP server  110 , a registrar  115 , and one or more multi-function devices  112 ,  114  and  116 . A single instance of an EIP service can be installed as a web application on the EIP web server  110 . The registrar  115  then registers the EIP service with each of the multi-function devices  112 ,  114  and  116  on which the service should be available. The registration can be processed through a GUI into which the user inputs the URL (Uniform Resource Locator) of the service as well as other important details such as, for example, the location of images utilized as icons in the GUI associated with the multi-function devices  112 ,  114  and  116 . The registration may also be processed as a web service call. 
         [0005]    Furthermore, the EIP registration may be repeated manually three times with respect to the multi-function devices  112 ,  114  and  116 . Each time the EIP service is utilized, the web application hosted on the EIP server  110  can be invoked. Such registrations, however, are associated with the single web EIP server  110 . Thus, if the server slows or is overloaded, or a parallel server is added to the network, the registrations must be updated manually from the registrar  115  to point to a new location or URL. Note that registration involves storing a reference regarding a specific service in a persistent memory of a specific multi-function device. 
         [0006]    One of the problems associated with such an approach is that the multi-function device service association remains until the registration is deleted or modified by the registrar software. Also, the EIP registration system  100  cannot dynamically allocate services. Additionally, the management of a large number of services and/or a large number of multi-function devices can quickly become very problematic. 
         [0007]    Prior art approaches provide some solutions to such deficiencies; however, through additional analysis and prototyping, significant improvements to the system have been introduced.  FIG. 2  illustrates a peer aware network  200  with distributed web hosting. The peer aware network  200  includes a number of multi-function devices such as devices  212  and  213  associated with one or more proxy computers  215 . The proxy computers  215  manage the registrations that are stored on the individual multi-function devices  212  and  213 . The proxy computers  215  also act as proxies between the multi-function device  212  and  213  and the actual service hence communications must be routed through the proxy computer  215 . The multi-function device to EIP service traffic can be proxied via the proxy computer  215  which slows access to the individual EIP services and increases network traffic. 
         [0008]    Based on the foregoing, it is believed that a need exists for enabling a fleet of multi-function devices to dynamically discover an EIP service and auto populate service options displayable to a user or a group of users. A need also exists for filtering EIP services based on a corporate policy in order to allow access to enhanced services, as described in greater detailed herein. 
       BRIEF SUMMARY 
       [0009]    The following summary is provided to facilitate an understanding of some of the innovative features unique to the present invention and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole. 
         [0010]    It is, therefore, one aspect of the present invention to provide for an improved method and system for configuring a multi-function device (MFD) such as a printer, scanner, photocopy machine, fax machine, or a combination thereof. 
         [0011]    It is another aspect of the present invention to provide for a method and system for enabling a fleet of multi-function devices to dynamically discover an EIP service and auto populate user service options. 
         [0012]    It is a further aspect of the present invention to provide for a method and system for filtering EIP services based on a corporate policy. 
         [0013]    The aforementioned aspects and other objectives and advantages can now be achieved as described herein. A method and system are disclosed for enabling an automatic service sharing and custom user interface features in a fleet of multi-function devices. EIP services can be registered with respect to a peer-to-peer discovery subsystem associated with an MFD-grid infrastructure. The EIP service registration information can be submitted and stored in the MFD-grid infrastructure. The MFD&#39;s can be equipped with an enterprise EIP client that can query the peer-to-peer discovery subsystem and apply a corporate policy. The peer-to-peer discovery subsystem can detect best instance of the service based on loading and availability factors and then return a reference with respect to the services to a multifunction device user in order to allow access to a better service. The MFD-grid infrastructure utilizes a distributed file system therefore the service registrations cannot be lost and replicated thereby eliminating inconsistent information and race conditions. 
         [0014]    The services can be made immediately available to all MFD&#39;s in the fleet (depending on the policy) because the MFD queries the discovery subsystem based on user requirements. The MFD-grid infrastructure can access dynamic service usage metrics so that a “live” load balancing can be accomplished. An access list or assigned user roles may also be utilized to determine services displayable to the user(s). The services may also be filtered based on the corporate policy. The EIP services can be directly registered in the MFD-grid infrastructure in order to potentially speed up access to the individual EIP services and to reduce network traffic. Such an approach enables a fleet of MFD&#39;s to dynamically discover EIP services and auto populate service options for a user or a group of users, thereby providing enhanced flexibility, reduced cost and complexity, and improved speed with respect to the networked MFD&#39;s. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the present invention. 
           [0016]      FIG. 1  illustrates a schematic diagram of a prior art EIP configuration network; 
           [0017]      FIG. 2  illustrates a schematic diagram of a prior art peer aware network with distributed web hosting; 
           [0018]      FIG. 3  illustrates an example of a data-processing system, including a GUI and supporting dashboard, in accordance with an embodiment; 
           [0019]      FIG. 4  illustrates a graphical representation of an enterprise EIP network, in accordance with an embodiment; and 
           [0020]      FIG. 5  illustrates a flow chart of operations illustrating logical operational steps of a method for dynamically discovering EIP services and auto populating service options in a fleet of multi-function devices, in accordance with an embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate at least one embodiment and are not intended to limit the scope thereof. 
         [0022]      FIG. 3  illustrates a system  300  as an exemplary diagram of a data processing environment in which embodiments of the present invention may be implemented. It should be appreciated that the configuration of system  300  shown in  FIG. 3  is only illustrative and is not intended to assert or imply any limitation with regard to the environments in which aspects or embodiments of the present invention may be implemented. Many modifications to the depicted environments may be made without departing from the spirit and scope of the present invention. 
         [0023]    System  300  includes a MFD  340  coupled to a data-processing apparatus  310  through a network  335 . The data-processing apparatus  310  may be, for example, a personal computer or other computing device, and generally includes a central processor  320 , a display device  315 , a keyboard  331 , and a pointing device (e.g., mouse, track ball, pen device, or the like). Additional input/output devices such as the MFD  340  may be included in association with the data-processing apparatus  310  as desired. Internally, the data-processing apparatus  310  may include, for example, a processor, a data bus coupled to the processor, and so forth. 
         [0024]    Note that as utilized herein, the term multi-function device (including the acronym MED) may refer to an apparatus or system such as a printer, scanner, fax machine, copy machine, etc., and/or a combination thereof. Preferably, MFD  340  is capable of multiple rendering functions such as printing, copying, scanning, faxing, etc. In some embodiments, MFD  340  may be implemented with a single rendering function such as printing. In other embodiments, MFD  340  can be configured to provide multiple rendering functions such as scanning, faxing, printing and copying. Note that the MFD&#39;s  342  and  344  described in greater detail herein are analogous or similar to MFD  340 . 
         [0025]    A non-limiting example of an MFD that can be utilized as MFD  340 ,  342  and/or  344  is disclosed in U.S. Pat. No. 7,525,676, entitled “System and Method for Controlling Access to Programming Options of a Multifunction Device,” which issued on Apr. 28, 2009 to Robert J. Pesar. U.S. Pat. No. 7,525,676, which is incorporated herein by reference in its entirety, is assigned to the Xerox Corporation of Norwalk, Conn. Another non-limiting example of an MFD that can be utilized as MFD  340 ,  342  and/or  344  is disclosed in U.S. Pat. No. 7,474,428, entitled “Multifunction Device System Using Tags Containing Output Information,” which issued on Jan. 6, 2009 to Morris-Jones, et al. U.S. Pat. No. 7,474,428, which is incorporated herein by reference in its entirety, is also assigned to the Xerox Corporation of Norwalk, Conn. An additional example of an MFD that can be utilized as MFD  340 ,  342  and/or  344  is disclosed in U.S. Pat. No. 5,920,405, entitled “Multifunction Device with Printer/Facsimile Contention Selection,” which issued on Jul. 6, 1999 to McIntyre, et al. U.S. Pat. No. 5,920,405, which is incorporated herein by reference in its entirety, is also assigned to the Xerox Corporation of Norwalk, Conn. 
         [0026]    The data-processing apparatus  310  can be coupled to the MFD  340  through a computer network  335 . Network  335  may employ any network topology, transmission medium, or network protocol. Network  335  may include connections such as wire, wireless communication links, or fiber optic cables. The MFD  340  includes a user interface  345  such as a panel menu. The panel menu may be used to select features and enter other data in the MFD  340 . Such interfaces may include, for example, touch screens having touch activated keys for navigating through an option menu or the like. 
         [0027]    An MFD driver program can be installed on the data-processing apparatus  310  and can reside on the host device&#39;s hard drive  350 . The MFD driver program may be activated through an application interface so that a user may generate a print job with the MFD driver for processing by the MED  340 . The MED  340  also includes a GUI  345  for communicating MFD features for processing, for example, a print job to a user and accepting the user&#39;s selection of available MFD features. The GUI  345  generally displays information and receives data through the device display and/or keyboard/mouse combination. The interface  345  also serves to display results, whereupon the user may supply additional inputs or terminate a given session. The data-processing apparatus  310  can be, for example, any computing device capable of being integrated within a network such as a PDA, personal computer, cellular telephone, point-of-sale terminal, server, etc. 
         [0028]    Note that in one embodiment, the GUI  345  may display a dashboard, which is a visualization tool that provides graphical depictions of current key performance indicators in order to enable faster response to changes in areas such as, for example, sales, customer relations, performance assessments, and inventory levels. Thus, a dashboard is a term used generally to refer to a web-based technology page on which real time information is collated from various sources in the business. The metaphor of dashboard emphasizes the nature of the data being displayed on the page; it is a real-time analysis as to how a business is operating, just like on an automobile dashboard real time information is displayed about the performance of that vehicle. One example of a dashboard that GUI  345  may support is an Enterprise EIP (Extensible Interface Platform) dashboard. EIP is generally a software platform based on, for example, Web standards, which allows independent software vendors and developers to create customized document workflow applications for MFD and other products. 
         [0029]    The following description is presented with respect to embodiments of the present invention, which can be embodied in the context of a data-processing apparatus  310  and MFD  340  depicted in  FIG. 3 . The present invention, however, is not limited to any particular application or any particular environment. Instead, those skilled in the art will find that the system and methods of the present invention may be advantageously applied to a variety of system and application software, including database management systems, word processors, and the like. Moreover, the present invention may be embodied on a variety of different platforms, including Macintosh, UNIX, LINUX, and the like. Therefore, the description of the exemplary embodiments, which follows, is for purposes of illustration and not considered a limitation. 
         [0030]      FIG. 4  illustrates a graphical representation of an Enterprise EIP (Extensible Interface Platform) network  400 , in accordance with an embodiment. Note that in  FIGS. 3-5 , identical or similar blocks are generally indicated by identical reference numerals. The Enterprise EIP network  400  generally includes an MFD-grid infrastructure  410  associated with one or more multi-function devices  340 ,  342  and  344 , an EEIP client  440  and EIP servers  414  and  416 . The EEIP client  440  may be, for example, one or more personal computers or a network of computers. Data-processing system  310  depicted in  FIG. 3  can be, for example, an EEIP client. Alternatively, data-processing system  310  can be implemented as EIP servers, depending upon design considerations. The multi-function devices  340 ,  342  and  344  can be located remotely with respect to each other, or alternatively, they may be located locally with respect to each other such as, for example, at a print shop or in an office environment. 
         [0031]    In general, the grid infrastructure is a complex combination of a number of capabilities and resources identified for a specific problem and environment being addressed. The MFD-grid infrastructure  410  allows multiple interconnected computers to work together on large grid applications. The computational problem may be divided into several smaller, more manageable jobs or tasks in order to feasibly manage such overwhelming amounts of computational processing. The MFD-grid infrastructure  410  allows for shared storage across a plurality of nodes within the network  400 . In this way, data may be stored remotely, in the form of a backup, for example, and allow large amounts of data to be virtually stored by a single node. The grid infrastructure may  410  comprise a combination of various network configurations having fewer or more client-servers, or alternate client-server configurations. 
         [0032]    The EIP services can be provided by an EIP software module associated with the EIP server  414  and  416  to create personalized and customized document management solutions, which can be accessible from the multi-function device user interface  345 . Note that as utilized herein, the term “module” may refer to a physical hardware component and/or to a software module. In the computer programming arts, such a software “module” may be implemented as a collection of routines and data structures that performs particular tasks or implements a particular abstract data type. Modules of this type are generally composed of two parts. First, a software module may list the constants, data types, variable, routines, and so forth that can be accessed by other modules or routines. Second, a software module may be configured as an implementation, which can be private (i.e., accessible only to the module), and which contains the source code that actually implements the routines or subroutines upon which the module is based. 
         [0033]    Therefore, when referring to a “module” herein, the inventors are generally referring to such software modules or implementations thereof. The methodology described herein can be implemented as a series of such modules or as a single software module. Such modules can be utilized separately or together to form a program product that can be implemented through signal-bearing media, including transmission media and recordable media. The present invention is capable of being distributed as a program product in a variety of forms, which apply equally regardless of the particular type of signal-bearing media utilized to carry out the distribution. 
         [0034]    Examples of signal-bearing media can include, for example, recordable-type media such as floppy disks, hard disk drives, CD ROMs, CD-Rs, etc., and transmission media such as digital and/or analog communication links. Examples of transmission media can also include devices such as modems, which permit information to be transmitted over standard telephone lines and/or the more advanced digital communications lines. 
         [0035]    The enterprise EIP network  400  enable the fleet of multi-function devices  340 ,  342  and  344  to dynamically discover EIP services and auto populate the service options displayed to the user through the user interface  345 . The MFD is an office machine which incorporates the functionality of multiple devices in one, so as to provide centralized document management, document distribution and production in a large-office setting, and the like. The typical MFD may act as a combination of a printer, scanner, photocopier, fax, and e-mail. While three multi-function devices  340 ,  342  and  344  are shown by way of example, it is to be appreciated that any number of rendering devices may be linked to the network such as two, four, six or more rendering devices. In general, the multi-function devices  340 ,  342  and  344  can be utilized to perform a rendering output function (e.g., printing, scanning, copying, faxing, etc) within a networked environment. Note that multi-function devices  340 ,  342  and  344  are generally analogous to one another. 
         [0036]    The EIP servers  414  and  416  provide EIP services to the EIP enabled multi-function devices  340 ,  342  and  344  associated with the peer-to-peer network  400 . The multi-function devices  340 ,  342  and  344  can be equipped with the enterprise EIP client  440  and the EIP services can be registered with the peer-to-peer discovery subsystem  415  which is part of the MFD-grid infrastructure  410 . Note that the discovery subsystem  415  can be provided as a module (e.g., software module) or a group of such modules. The EIP client  440  can query the discovery subsystem  415 , which can apply the corporate policy, detect best instance of the service based on loading, and availability factors. The EIP client  440  then returns references to the services to display to the MFD user. The references can allow access to the best service without the need to being routed through a proxy. 
         [0037]    Note that the user interface as utilized herein generally refers to a type of environment that represents programs, files, options and so forth by means of graphically displayed icons, menus, and dialog boxes on a screen. The input device of the multi-function devices  340 ,  342  and  344  may be a local user interface such as a touch-screen display or separate keypad and display or a memory fob or the like as discussed above. Alternatively or additionally, the input device may be a wireless port that receives a wireless signal containing constraint data from a portable device. The wireless signal may be an infrared or electromagnetic signal. A system administrator may input constraint data through the local user interface by manipulating the touch screen, keypad, or communicating via wireless messages through the wireless port. The administrator&#39;s portable device that communicates wirelessly may be a personal digital assistant (PDA), or the like, as noted above. 
         [0038]    The EIP registration information  420  can be submitted and stored to the MFD-grid infrastructure  410 . The MFD-grid discovery subsystem  415  utilizes distributed file system therefore the service registrations  420  cannot be lost and replicated. The services can be immediately available to the multi-function devices  340 ,  342  and  344  in the fleet (depending on policy) because the multi-function devices  340 ,  342  and  344  query the discovery subsystem  415  when a user wants to utilize the services. Note that the MFD-grid infrastructure  410  can also be provided as a module (e.g., software module) or a group of such modules. 
         [0039]    The MFD-grid infrastructure  410  has access to dynamic service usage metrics so “live” load balancing can be accomplished. The access lists or assigned user roles can be utilized to determine the services that are displayed to the user. The prototype utilizes radio frequency identification (REID) tags to identify a user&#39;s role and the services can be filtered based on the corporate policy. An example of such a policy can be certain EIP services are not allowed after business hours. Such an approach eliminates the need for the proxy system thereby potentially speeding up access to the individual EIP services and reducing network traffic. 
         [0040]      FIG. 5  illustrates a flow chart of operations illustrating logical operational steps of a method  500  for dynamically discovering EIP services and auto populating service options in a fleet of MFD, in accordance with an embodiment. The multi-function devices  340 ,  342  and  344  can be configured in association with the MFD-grid infrastructure  410 , as depicted at block  510 . The EIP services can be registered to the peer-to-peer discovery subsystem  415  associated with the MFD-grid infrastructure  410 , as illustrated at block  520 . Thereafter, the EIP registration information  420  can be submitted and stored to the MFD-grid infrastructure  410 , as indicated at block  530 . The discovery subsystem  415  can be queried utilizing the EEIP client  440 , as depicted at block  540 . The best instance of the EIP service can be detected based on loading and availability factors, as illustrated at block  550 . The references to the services can be returned in order to display to the MFD user, as indicated at block  560 . 
         [0041]    The user receives the latest information known to the system  415  and hence the registrations are not replicated in more than one place eliminating inconsistent information and race conditions. It is believed that by utilizing the system and approach described herein, the EIP services can be dynamically discovered by the fleet of multi-function devices and the service options can be auto populated and displayed to the user in the MFD user interface  345 . 
         [0042]    While the present invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. Furthermore, as used in the specification and the appended claims, the term “computer” or “system” or “computer system” or “computing device” includes any data processing system or apparatus including, but not limited to, personal computers, servers, workstations, network computers, main frame computers, routers, switches, Personal Digital Assistants (PDA&#39;s), telephones, and any other system capable of processing, transmitting, receiving, capturing and/or storing data. Thus, the data-processing apparatus  310  depicted in  FIG. 3 , for example, may equally be implemented as PDA, cellular telephone, Smartphone, laptop computer, iPhone, Blackberry type device as well as other types of personal or desktop computers. 
         [0043]    It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.