The foregoing and other features of the embodiments described herein will be apparent and easily understood from a further reading of the specification, claims and by reference to the accompanying drawings in which:
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific illustrative embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the scope of the disclosure. The following detailed description is, therefore, not to be taken in a limiting sense.
The method and system for accessing remote services on a local user interface through use of a Web browser described herein provides a new MFD interface that utilizes Web 2.0 technologies such as AJAX and SOA to allow greater flexibility and choice of access. The operator implementing a web application can choose to access MFD functions or other external SOA interfaces from their web server or from within the web application running on the browser. Additional functionality can be accessed using the standard “Web Services” approach irrespective of the location of the functionality on the network. This gives the developer a potentially limitless supply of functionality from different devices and servers across their network or across the world wide web. To permit interface standardization, the use of proprietary interfaces has been limited. The use of Web 2.0 technologies also allows dynamic content to be displayed in a single web application page. The browser can request information from the MFD using Web Services calls from within a single page and update the content of the page without having to re-visit the web application server.
While for the purposes of explanation the method and system will be described as functioning within a network including various printing and communication devices, it will be appreciated by those skilled in the art that accessing remote services on a local user interface through use of a Web browser may be beneficially utilized in any communication environment which requires a secure hard copy of a facsimile confirmation. All such variations and modifications are fully contemplated by the scope of the specification and claims herein.
Various computing environments may incorporate capabilities for accessing remote services on a local user interface through use of a Web browser. The following discussion is intended to provide a brief, general description of suitable computing environments in which the method and system may be implemented. Although not required, the method and system will be described in the general context of computer-executable instructions, such as program modules, being executed by a single computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the method and system may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, networked PCs, minicomputers, mainframe computers, and the like.
The method and system may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Referring to
The multifunction device 110 may be a standalone device or may form part of a network including various printer and copying devices. Multifunction device 110 may be any device capable of scanning image material. The scanned image may be in various formats, for example, but not limited to, PDF (portable document format), TIFF (tag image file format), JPEG (joint photographics experts group format), GIF (graphics interchange format), or BMP (BitMaP). In addition to scanning and transmitting the scanned image via electronic mail, multifunction device 110 may also include functionality for printing, copying, or transmitting facsimile images. Operation of multifunction device 110 is controlled from a user interface, which enables a user to select the function to be performed as well as enter information required by the device to perform an operation. Typically buttons or a keypad are utilized to enter information and select functionality, but a touch screen or any other means known in the art may be utilized. The user interface may be customized to reflect the document processing needs of the operator or the operators organization.
Additionally, third parties with preexisting solutions or third parties that can customize existing applications may be contacted through the interface. These remote service solutions may be in the form of software and hardware solutions to extend the base functionality of the multifunction device. The remote services solutions may be produced for specific customers or produced as generic products for any interested party. Application server 120 hosts the web applications that will appear on the local user interface of the multifunction device. The web applications hosted on the server 120 may be registered with several multifunction devices and accessed via the local user interfaces of those multifunction devices.
All these main components are coupled together via network 130. The system and method herein are not limited to a particular type of network system 130. Typical network interfaces include general-purpose systems such as POTS (plain-old telephone systems) and ISDN (Integrated Services Digital Network), as well as special-purpose systems such as a LAN (Local Area Network) or a WAN (Wide Area Network). Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet. Those skilled in the art will appreciate that the principles of the system and method described herein can be applied to virtually any network system without departing from the scope of the claims and specification.
Turning now to
Referring now to
Turning now to
Turning now to
Referring now to
Each multifunction device may provide a set of widgets that can be utilized in creating pages of the device. The widgets enable a remote service to develop applications that have the same look and feel as the native device local user interface and reduce the cost of developing some functions like a soft keyboard. The widget set along with a set of Application Programming Interfaces (APIs) help to form a software development kit that is provided to the remote service client running in the browser.
Referring to
MFD Web Services 750 are hosted by the MFD web server or an associated web service engine and may utilize AJAX, SOAP, HTTP, and HTTPS web protocols. These services may include, but are not limited to, application programming interfaces (APIs) such as scanning interface 760, application registration interface 762, session manager interface 770, device capabilities interface 780, and any additional interfaces 790 to be added as desired. Device capabilities API 780 provides, for example, accessibility to the MFD capabilities, which include information about the display, such as user interface display DPI (dots per inch), user interface display size, user interface display color depth, scan output formats, and user interface touchable areas, as well as various other features known in the art. Device Capabilities API 780 additionally provides the version of the user interface, browser properties, etc. Session management API 770 allows a remote operator to use the web service 750 to learn the credentials of the user who is logged onto the MFD. For example, session manager API 770 retrieves information about the currently logged-in user for security, personalization, and accounting purposes over HTTPS (shown as http(s)) and may be invoked only from the MFD. Application registration API 762 enables adding, removing, updating, deleting, and listing of the external web applications 720 accessible through the MFD browser. For example, it provides capability for registering web applications over http(s) and also supports deleting and changing previously registered applications for remote service clients running in the browser 714. The registration API 762 may be invoked from servers external to the MFD so that they can register their clients with the MFD for presentation in the MFD UI. Scanning API 760 allows a remote operator to access and control scanning on the MFD. This includes putting, getting, updating, deleting, and listing the device scan templates as well as initiating the scanning of a document to one of the scan templates.
External web services 740 reside on a server external to the MFD and include various services, such as document storage 742, database query 744, and security credentials 746, as well as other services known in the art. Document storage 742 provides networked document storage and retrieval capabilities and may include, for example, functions such as storing a scanned document, listing directories of documents, updating document details, listing document details, and retrieving a document, among others. Database query 744 provides data required by the application or provides offline storage of data the application generates. This data is dependent on the application being run but could include, for example, problem tracking records, timesheet data, customer contact details, user preferences and audit logs. Security credentials 746 returns the current logged in operator's credentials (i.e., username, email address, account codes etc.). PC 730 includes browser 734 and local applications 732. Any type of data, in the form of SOAP XML calls, may be exchanged among the various modules.
External web applications 720 may be requested and viewed through the MFD browser 714 as well as through PC browser 734. Information flowing between external web applications 72 and MFD web services 750 and external web services 740 includes HTML, JavaScript and Style sheets along with images and other data (for example, xml files, and data files).
The particular methods performed by the MFD in providing support for remote services comprise steps which are described below with reference to a series of flow charts. The flow charts illustrate an embodiment in which the methods constitute computer programs made up of computer-executable instructions. Describing the methods by reference to a flowchart enables one skilled in the art to develop software programs including such instructions to carry out the methods on computing systems. The language used to write such programs can be procedural, such as Fortran, or object based, such as C++. One skilled in the art will realize that variations or combinations of these steps can be made without departing from the scope of the disclosure herein.
Turning now to
At 840 the operator is prompted to place the document(s) they wish to scan into the document handler of the MFD. The operator is then prompted to enter a client identification number, which is verified at 850 by a client side script. For the purposes herein, client side script is defined as a script that is processed in the web browser (as opposed to a script that is processed on the web application server before returning a web page to the browser). In this case, there is a script defined in the loaded web page that validates the client identification number. When the scan is initiated at 860, the web application uses a client-side Web Services call to initiate the scan by connecting via HTTPS to the local MFD's Scanning Web Service. A response is returned from the web services including the scanning job ID. The client ID is returned to the web application server using an HTTP(S) POST command. The web application server receives the scanned document and the client ID at 870. At 880 the web application server uses the remote document repositories web service to push the document into the correct client directory. A page is generated by the web application server at 890 confirming the storage of the document. The operator is then returned to the local user interface.
While the present discussion has been illustrated and described with reference to specific embodiments, further modification and improvements will occur to those skilled in the art. Additionally, “code” as used herein, or “program” as used herein, is any plurality of binary values or any executable, interpreted or compiled code which can be used by a computer or execution device to perform a task. This code or program can be written in any one of several known computer languages. A “computer”, as used herein, can mean any device which stores, processes, routes, manipulates, or performs like operation on data. It is to be understood, therefore, that this disclosure is not limited to the particular forms illustrated and that it is intended in the appended claims to embrace all alternatives, modifications, and variations which do not depart from the spirit and scope of the embodiments described herein.
It will be appreciated that various 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. Unless specifically recited in a claim, steps or components of claims should not be implied or imported from the specification or any other claims as to any particular order, number, position, size, shape, angle, color, or material.
The claims, as originally presented and as they may be amended, encompass variations, alternatives, modifications, improvements, equivalents, and substantial equivalents of the embodiments and teachings disclosed herein, including those that are presently unforeseen or unappreciated, and that, for example, may arise from applicants/patentees and others.
Number | Date | Country | |
---|---|---|---|
60851794 | Oct 2006 | US |