US9723168B2 - Information processing apparatus, information processing system, and computer program product - Google Patents

Information processing apparatus, information processing system, and computer program product Download PDF

Info

Publication number
US9723168B2
US9723168B2 US15/058,378 US201615058378A US9723168B2 US 9723168 B2 US9723168 B2 US 9723168B2 US 201615058378 A US201615058378 A US 201615058378A US 9723168 B2 US9723168 B2 US 9723168B2
Authority
US
United States
Prior art keywords
network
client
information
information processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US15/058,378
Other versions
US20160277621A1 (en
Inventor
Hirokazu Iida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2016006605A external-priority patent/JP2016177777A/en
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Assigned to RICOH COMPANY, LIMITED reassignment RICOH COMPANY, LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: IIDA, HIROKAZU
Publication of US20160277621A1 publication Critical patent/US20160277621A1/en
Application granted granted Critical
Publication of US9723168B2 publication Critical patent/US9723168B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • H04N1/00307Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a mobile telephone apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/327Initiating, continuing or ending a single-mode communication; Handshaking therefor
    • H04N1/32765Initiating a communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/327Initiating, continuing or ending a single-mode communication; Handshaking therefor
    • H04N1/32786Ending a communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/4406Restricting access, e.g. according to user identity
    • H04N1/4413Restricting access, e.g. according to user identity involving the use of passwords, ID codes or the like, e.g. PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Definitions

  • the present invention relates to an information processing apparatus, an information processing system, and a computer program product.
  • a printer connected to a local network acquires a driver from an external apparatus via a router and an external network, and the printer distributes the driver to client apparatuses connected to the local network, for example (Japanese Laid-open Patent Publication No. 2008-059239).
  • a printer connected to a local network acquires a driver from an external apparatus via a router and an external network, and the printer distributes the driver to client apparatuses connected to the local network, for example (Japanese Laid-open Patent Publication No. 2008-059239).
  • environments are constructed in which client apparatuses connected to a local network such as an in-house network are limited in terms of connection to external networks.
  • the apparatuses connected to the local network in such an environment cannot download a control program for controlling a device from the external apparatus via the external network. For this reason, it has conventionally been difficult to maintain an environment in which connection from client apparatuses to external networks is controlled and to reduce loads on the manager side when the control program is installed on the client apparatuses.
  • an information processing apparatus connects to at least one client apparatus via a first network and is capable of connecting to an external apparatus via a second network.
  • the information processing apparatus includes a first receiving unit, a specifying unit, a first switching unit, a second receiving unit, a second switching unit, and a transmitting unit.
  • the first receiving unit receives client information related to the client apparatus from the client apparatus via the first network.
  • the specifying unit specifies a device that is connected to the first network and is capable of being controlled by the client apparatus.
  • the first switching unit switches connection from the first network to the second network.
  • the second receiving unit receives, based on the client information and the device specified by the specifying unit, a control program for controlling the device from the external apparatus via the second network.
  • the second switching unit switches connection from the second network to the first network.
  • the transmitting unit transmits the control program received by the second receiving unit to the client apparatus via the first network.
  • FIG. 1 is a diagram of an example of an information processing system
  • FIG. 2 is a diagram of an example of a hardware configuration
  • FIG. 3 is a functional block diagram of an information processing apparatus
  • FIG. 4 is a diagram of an example of a data configuration of download request information
  • FIG. 5 is a functional block diagram of a client apparatus
  • FIG. 6 is a sequence diagram of a procedure of information processing
  • FIG. 7 is a functional block diagram of an information processing apparatus
  • FIG. 8 is a functional block diagram of a client apparatus
  • FIG. 9 is a sequence diagram of a procedure of information processing
  • FIG. 10 is a functional block diagram of an information processing apparatus
  • FIG. 11 is a functional block diagram of a client apparatus.
  • FIG. 12 is a sequence diagram of a procedure of information processing.
  • FIG. 1 is a diagram of an example of an information processing system 10 .
  • the information processing system 10 includes client apparatuses 12 and an information processing apparatus 16 .
  • the client apparatuses 12 are connected to devices such as printers 14 via a first network 20 .
  • the client apparatuses 12 are not connected to a second network 22 .
  • the first network 20 is a network connected to the client apparatuses 12 and the printers 14 .
  • the first network 20 is a network that requires authentication by a proxy server for Internet permission for connecting to the Internet via an intranet, for example.
  • the first network 20 is specifically a local network such as an in-house local area network (LAN).
  • the in-house LAN is a network constructed so as to enable only limited terminals to be connected thereto.
  • the in-house LAN is a network constructed so as to enable only devices such as personal computers (PCs) and the printers 14 installed in a company to be connected thereto, for example.
  • PCs personal computers
  • the apparatuses (the client apparatuses 12 and the printers 14 ) connected to the first network 20 communicate in accordance with a known protocol such as TCP/IP, for example.
  • One or a plurality of client apparatuses 12 and one or a plurality of devices are connected to the first network 20 .
  • the client apparatuses 12 are connected to the devices via the first network 20 .
  • the devices perform various kinds of processing responsive to instructions from the client apparatuses 12 .
  • the devices are known image forming apparatuses, scanner apparatuses, fax apparatuses, or multifunction peripherals having a plurality of functions, for example.
  • the type of the device connected to the first network 20 is the printer 14 as an example.
  • the printer 14 is a known image forming apparatus.
  • the second network 22 is a network connected to an external apparatus 18 that stores therein a control program (details will be described below) to be installed on the client apparatuses 12 .
  • the second network 22 is a network that can connect to an external network such as the Internet, for example.
  • the second network 22 is a network that can connect to the Internet beyond a proxy server of an in-house network such as the first network 20 , for example.
  • the apparatuses connected to the second network 22 communicate in accordance with a known communication protocol.
  • the client apparatuses 12 are not connected to the second network 22 .
  • the client apparatus 12 can connect to the devices and the other client apparatus 12 connected to the first network 20 .
  • the client apparatuses 12 are limited to access (be connected to) the external apparatus 18 connected to the second network 22 . This is because the client apparatuses 12 are made not connectable to an external network (the second network 22 ) in view of security.
  • the first network 20 and the second network 22 are not connected to each other.
  • the external apparatus 18 is a known computer that stores therein the control program for controlling the printer 14 (the device).
  • the external apparatus 18 is a cloud server, for example.
  • the control program for controlling the device is a printer driver, for example.
  • the control program for controlling the device is a scanner driver, for example.
  • the control program stored in the external apparatus 18 is of the latest version.
  • the information processing apparatus 16 is connected to the client apparatuses 12 via the first network 20 and is connected to the external apparatus 18 via the second network 22 .
  • the information processing apparatus 16 can connect to both the client apparatuses 12 and the second network 22 .
  • the information processing apparatus 16 cannot connect to both the client apparatuses 12 and the second network 22 simultaneously (details will be described below).
  • the information processing apparatus 16 is preferably portable. Making the information processing apparatus 16 portable enables a manager to cause the information processing apparatus 16 to execute pieces of processing described below at any place.
  • the information processing apparatus 16 is specifically a tablet terminal, a smart device, or the like.
  • a network configuration of the information processing system 10 is only necessary to be a state in which the second network 22 to which the external apparatus 18 that stores therein the control program connects and the first network 20 to which the client apparatuses 12 connect are separate networks and the client apparatuses 12 cannot connect to the first network 20 and is not limited to the configuration illustrated in FIG. 1 .
  • the following describes a hardware configuration of the client apparatus 12 , the information processing apparatus 16 , and the external apparatus 18 in the present embodiment.
  • FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 12 , the information processing apparatus 16 , and the external apparatus 18 in the present embodiment.
  • the client apparatus 12 , the information processing apparatus 16 , and the external apparatus 18 in the present embodiment each include a central processing unit (CPU) 50 , a random access memory (RAM) 52 , a read only memory (ROM) 54 , a hard disk drive (HDD) 56 , and an interface (I/F) 58 .
  • the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , and the I/F 58 are connected to each other via a bus 64 .
  • a display 60 such as a known display apparatus and an operating unit 62 that receives various kinds of operations by a user are connected to the I/F 58 .
  • the display 60 displays various kinds of images.
  • the display 60 is a known display apparatus such as a liquid crystal display (LCD) or organic electro luminescence (EL), for example.
  • the operating unit 62 is a member for allowing the user to perform various kinds of operation input.
  • the operating unit 62 is a mouse, a button, a remote controller, a keyboard, or a voice recognition apparatus such as a microphone, for example.
  • the display 60 and the operating unit 62 may integrally be formed. Specifically, the display 60 and the operating unit 62 may be a touch panel including both an input function and a display function.
  • FIG. 3 is a functional block diagram of the information processing apparatus 16 .
  • the information processing apparatus 16 includes a server application 24 and a storage unit 28 .
  • the storage unit 28 is a hard disk drive apparatus (the HDD 56 ) or a storage medium such as an internal memory.
  • the storage unit 28 stores therein various kinds of data.
  • the storage unit 28 stores therein a client application installer 28 A and client information 28 B.
  • the client application installer 28 A is an execution file (exe file) for installing a client application (a client application 30 described below) on the client apparatus 12 .
  • the client application is an application program for causing the client apparatus 12 to acquire the control program from the information processing apparatus 16 .
  • the client application installer 28 A includes the client application.
  • the client application installer 28 A sets up the client application in the client apparatus 12 .
  • the client information 28 B is information related to the client apparatus 12 .
  • the client information 28 B is identification information (an IP address, for example) of the client apparatus 12 .
  • the server application 24 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 12 .
  • the server application 24 is installed on the information processing apparatus 16 in advance.
  • the server application 24 includes a receiver 24 A (a second receiving unit), a web application programming interface (Web API) 24 B (a first receiving unit or transmitting unit), a switching unit 24 C (a first switching unit; a second switching unit), and a specifying unit 24 D (a specifying unit).
  • a receiver 24 A a second receiving unit
  • a web application programming interface (Web API) 24 B a first receiving unit or transmitting unit
  • a switching unit 24 C a first switching unit; a second switching unit
  • a specifying unit 24 D a specifying unit
  • the processor of the information processing apparatus 16 executes the server application 24 , whereby the receiver 24 A, the Web API 24 B, the switching unit 24 C, and the specifying unit 24 D are loaded onto a main memory and are generated on the main memory, for example.
  • the switching unit 24 C switches connection from the first network 20 to the second network 22 .
  • the switching unit 24 C switches connection from the second network 22 to the first network 20 .
  • the switching unit 24 C terminates the connection with the first network 20 and connects to the second network 22 .
  • the switching unit 24 C terminates the connection with the second network 22 and connects to the first network 20 .
  • the information processing apparatus 16 cannot connect to both the first network 20 and the second network 22 at the same timing.
  • the switching unit 24 C connects to the second network 22 using a line for portable terminals such as the 4G line, for example.
  • the switching unit 24 C connects to the first network 20 using WiFi (registered trademark) connection, for example.
  • the Web API 24 B is a system that uses functions of another program from an external computer program using HTTP.
  • the client application 30 in the client apparatus 12 uses the Web API 24 B in order to use functions of the server application 24 .
  • the Web API 24 B corresponds to the first receiving unit and transmitting unit.
  • the Web API 24 B receives the client information 28 B related to the client apparatus 12 from the client apparatus 12 via the first network 20 .
  • the specifying unit 24 D specifies a device that is connected to the first network 20 and can be controlled by the client apparatus 12 .
  • a description will be given for a case in which the device is the printer 14 as an example.
  • the Web API 24 B receives specifying information from the client apparatus 12 via the first network 20 .
  • the specifying information is information for specifying the device that is connected to the first network 20 and can be controlled by the client apparatus 12 .
  • the specifying information is information that can specify the printer 14 (the device). In the present embodiment, a description will be given for a case in which the specifying information is a device name of the printer 14 .
  • the specifying unit 24 D specifies the printer (the device) specified by the device name (the specifying information) received by the Web API 24 B as the device that is connected to the first network 20 and can be controlled by the client apparatus 12 .
  • the receiver 24 A downloads (receives) the control program for controlling the printer 14 from the external apparatus 18 via the second network 22 .
  • the receiver 24 A downloads the control program from the external apparatus 18 as the following procedure.
  • the Web API 24 B receives download request information from the client apparatus 12 .
  • the download request information is information that requests downloading of the control program for controlling at least part of the printers 14 connected to the first network 20 .
  • the download request information contains the client information 28 B (an IP address, for example) of the client apparatus 12 serving as a transmission source of the download request information, the device name (the specifying information) of the device (the printer 14 in the present embodiment) connected to the first network 20 , and information on an operating system (OS) of the client apparatus 12 .
  • the information on the OS of the client apparatus 12 is information indicating the type and version of the OS installed on the client apparatus 12 , for example.
  • the download request information may further contain the type of a language used in the device corresponding to the device name (a page description language (PDL) such as Refined Printing Command Stream (RPCS) and Post Script (PS), for example).
  • PDL page description language
  • RPCS Refined Printing Command Stream
  • PS Post Script
  • the download request information contains the device names of the respective printers 14 .
  • the download request information contains, for each of the client apparatuses 12 , the client information 28 B (the IP address, for example), a plurality of device names (the specifying information), the types of the languages corresponding to the respective device names, and the information on the OS of the client apparatus 12 , for example.
  • FIG. 4 is a diagram of an example of a data configuration of the download request information.
  • the download request information acquired by the information processing apparatus 16 from the client apparatus 12 contains the IP address of the client apparatus 12 , the device name (the specifying information), and the type of the language used in the device of the device name.
  • FIG. 4 omits the description of the information on the OS.
  • the Web API 24 B stores the download request information received from the client apparatus 12 in the storage unit 28 .
  • the client information 28 B is stored in the storage unit 28 .
  • the storage unit 28 stores therein the download request information until a download completion notification of the control program is transmitted to the client apparatus 12 specified by the client information 28 B contained in the download request information.
  • the switching unit 24 C switches the connection from the first network 20 to the second network 22 .
  • the receiver 24 A then downloads the control program from the external apparatus 18 via the second network 22 .
  • the Web API 24 B transmits the control program downloaded by the receiver 24 A to the client apparatus 12 .
  • the switching unit 24 C switches the connection from the second network 22 to the first network 20 .
  • the Web API 24 B then transmits the control program to the client apparatus 12 serving as the transmission source of the download request information.
  • the Web API 24 B reads the client information 28 B (the IP address) of the client apparatus 12 contained in the download request information stored in the storage unit 28 and thereby specifies the client apparatus 12 serving as the transmission source of the download request information.
  • the Web API 24 B may transmit the control program to all the client apparatuses 12 connected to the first network 20 .
  • FIG. 5 is a functional block diagram of the client apparatus 12 .
  • the client apparatus 12 includes the client application 30 , a storage unit 34 , and a web browser 35 .
  • the client application 30 is an application program for acquiring the control program from the information processing apparatus 16 .
  • the client application installer 28 A By executing the client application installer 28 A, the client application 30 is installed on the client apparatus 12 .
  • the client application 30 includes a searching unit 30 A, a Web API 30 B, an installing unit 30 C, a transmitting unit 30 D, and a display controlling unit 30 E.
  • the processor of the client apparatus 12 executes the client application 30 , whereby the searching unit 30 A, the Web API 30 B, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E are loaded onto a main memory and are generated on the main memory.
  • the web browser 35 receives identification information (an IP address, for example) of the information processing apparatus 16 to be connected when the control program is acquired from the operating unit 62 of the client apparatus 12 .
  • the user operates the operating unit 62 to input the identification information of the information processing apparatus 16 via the web browser 35 .
  • the web browser 35 receives the identification information of the information processing apparatus 16 input by the operation on the operating unit 62 .
  • the web browser 35 accesses the information processing apparatus 16 identified by the received identification information and downloads the client application installer 28 A.
  • the web browser 35 may display a display screen prepared by the server application 24 in the information processing apparatus 16 on the display 60 of the client apparatus 12 .
  • This display screen contains a button image indicating “start to install client application,” for example.
  • the web browser 35 may download the client application installer 28 A from the information processing apparatus 16 when the display area of the button image is selected by the user.
  • the web browser 35 may execute the client application installer 28 A when receiving an instruction to execute the client application installer 28 A through an operation instruction on the operating unit 62 by the user.
  • the processor of the client apparatus 12 executes the client application installer 28 A downloaded from the information processing apparatus 16 and thereby installs the client application 30 on the client apparatus 12 .
  • the processor of the client apparatus 12 executes the client application 30 , whereby the searching unit 30 A, the Web API 30 B, and the installing unit 30 C are loaded onto the main memory and are generated on the main memory.
  • the client application 30 may have already been installed on the client apparatus 12 .
  • the web browser 35 may display, on the display 60 , a list of pieces of identification information (IP addresses, for example) of the information processing apparatuses 16 to which the respective installed client applications 30 are connected.
  • the web browser 35 may receive the identification information of the information processing apparatus 16 to be connected selected through an operation instruction on the operating unit 62 by the user from the displayed list of the pieces of identification information.
  • the processor of the client apparatus 12 may execute the installed client application 30 corresponding to the information processing apparatus 16 to be connected selected by the user.
  • the searching unit 30 A searches for all the devices (the printers 14 in the present embodiment) connected to the first network 20 .
  • the searching unit 30 A searches the first network 20 and thereby obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the printers 14 .
  • the searching unit 30 A may be included in the server application 24 in the information processing apparatus 16 .
  • the Web API 30 B is a system that uses functions of another computer program from an external computer program using HTTP.
  • the server application 24 in the information processing apparatus 16 makes use of the Web API 30 B to use functions of the client application 30 in the client apparatus 12 .
  • the transmitting unit 30 D transmits the download request information to the information processing apparatus 16 identified by the identification information received by the web browser 35 .
  • the download request information contains the client information 28 B (the IP address, for example) of the client apparatus 12 , the device names of the respective printers 14 searched for by the searching unit 30 A, and the information on the OS of the client apparatus 12 .
  • the download request information may further contain the types of the languages used in the devices of the device names contained in the download request information.
  • the display controlling unit 30 E may display a list of the device names of the respective printers 14 searched for by the searching unit 30 A on the display 60 and cause the user to select a device that uses the control program to be acquired.
  • the web browser 35 displays the list of the device names of the printers 14 searched for by the searching unit 30 A on the display 60 .
  • One or a plurality of device names are selected through an operation on the operating unit 62 by the user.
  • the web browser 35 then receives the device name selected by the user from the operating unit 62 .
  • the Web API 30 B may transmit the download request information containing the received device name to the information processing apparatus 16 .
  • the Web API 30 B receives the control program received by the information processing apparatus 16 from the external apparatus 18 .
  • the Web API 30 B receives a download completion notification from the information processing apparatus 16 .
  • the Web API 30 B receives (that is, downloads) the control program from the information processing apparatus 16 .
  • the installing unit 30 C installs the control program received by the Web API 30 B on the client apparatus 12 .
  • the control program received by the Web API 30 B is a printer driver
  • the installing unit 30 C installs the received printer driver on the client apparatus 12 .
  • the installing unit 30 C may set the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30 A.
  • the control program of the latest version (a printer driver of the latest version, for example) is installed on the client apparatus 12 . If the version of the control program that has already been installed is the same as the version of the control program of the corresponding device acquired from the information processing apparatus 16 or when the installed one is the latest version, the client apparatus 12 is not required to perform installation.
  • FIG. 6 is a sequence diagram of the procedure of the information processing executed by the information processing system 10 .
  • the switching unit 24 C of the information processing apparatus 16 switches connection from the second network 22 to the first network 20 (SEQ 100 ).
  • the switching unit 24 C is required to determine which network is the first network 20 and which network is the second network 22 among a plurality of networks and to perform switching. For this determination, the following method may be used, for example.
  • the switching unit 24 C may determine the first network 20 by the following method of determination, for example.
  • the server application 24 stores therein information indicating which network is the first network 20 in advance.
  • the server application 24 stores therein information (an SSID, a password, or the like) on an access point for connecting to the first network 20 , for example.
  • the switching unit 24 C may determine the first network 20 using this information.
  • the server application 24 may display a display screen containing a list of networks as candidates of connection (that are receiving radio waves) on the display 60 .
  • the switching unit 24 C may determine a network selected through an operation instruction on the operating unit 62 by the user to be the first network 20 .
  • the switching unit 24 C may determine the second network 22 by the following method.
  • the server application 24 stores therein information indicating which network is the second network 22 in advance, for example.
  • the server application 24 stores therein information on mobile networks (cellular phone lines) such as 3G and LTE or access points of WiFi that can connect to the Internet as information indicating the second network 22 in advance, for example.
  • the switching unit 24 C may determine the second network 22 using this information.
  • the switching unit 24 C Before switching the connection from the second network 22 to the first network 20 at SEQ 100 , the switching unit 24 C may store therein information on the network connected before the switching as the information on the second network 22 .
  • the web browser 35 of the client apparatus 12 receives the identification information of the information processing apparatus 16 to be connected when the control program is acquired from the operating unit 62 (SEQ 102 ).
  • the web browser 35 accesses the information processing apparatus 16 identified by the identification information received at SEQ 102 and downloads the client application installer 28 A corresponding to the information processing apparatus 16 (SEQ 104 and SEQ 106 ).
  • the processor of the client apparatus 12 executes the client application installer 28 A downloaded from the information processing apparatus 16 and thereby installs the client application 30 on the client apparatus 12 .
  • the processor of the client apparatus 12 executes the client application 30 , whereby the searching unit 30 A, the Web API 30 B, and the installing unit 30 C are loaded onto the main memory and are generated on the main memory.
  • the searching unit 30 A of the client apparatus 12 searches for all the devices (the printers 14 in the present embodiment) connected to the first network 20 (SEQ 108 and SEQ 110 ). With this search, the searching unit 30 A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14 .
  • the transmitting unit 30 D of the client apparatus 12 transmits the download request information of the control program containing the device names (the specifying information) retrieved at SEQ 108 and SEQ 110 to the information processing apparatus 16 identified by the identification information received by the web browser 35 at SEQ 102 (SEQ 112 ).
  • the download request information transmitted at SEQ 112 contains the client information 28 B (the IP address, for example) of the client apparatus 12 , the device names of the respective printers 14 searched for by the searching unit 30 A, and the information on the OS of the client apparatus 12 .
  • the Web API 24 B of the information processing apparatus 16 stores the download request information acquired from the client apparatus 12 in the storage unit 28 .
  • the specifying unit 24 D of the information processing apparatus 16 specifies the printer 14 that can be controlled by the client apparatus 12 from the acquired download request information (SEQ 113 ).
  • the switching unit 24 C switches the connection from the first network 20 to the second network 22 (SEQ 114 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C may be performed similarly to SEQ 100 described above.
  • the Web API 24 B of the information processing apparatus 16 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14 ) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 12 contained in the download request information received at SEQ 112 (SEQ 116 and SEQ 118 ).
  • the receiver 24 A stores the acquired control program in association with the corresponding download request information in the storage unit 28 .
  • the switching unit 24 C switches the connection from the second network 22 to the first network 20 (SEQ 120 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C may be performed similarly to SEQ 100 described above.
  • the server application 24 may display a display screen (a user interface) that presents which network is connected to the user on the display 60 .
  • the Web API 24 B of the information processing apparatus 16 transmits the download completion notification of the control program to the client apparatus 12 serving as the transmission source of the download request information received at SEQ 112 (SEQ 122 ).
  • the Web API 30 B of the client apparatus 12 Upon reception of the download completion notification from the information processing apparatus 16 , the Web API 30 B of the client apparatus 12 receives (that is, downloads) the control program from the information processing apparatus 16 (SEQ 124 and SEQ 126 ).
  • the installing unit 30 C of the client apparatus 12 installs the control program downloaded by the Web API 30 B at SEQ 124 and SEQ 126 on the client apparatus 12 (SEQ 128 ).
  • the installing unit 30 C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30 A. The present sequence then ends.
  • the information processing apparatus 16 of the present embodiment connects to at least one client apparatus 12 via the first network 20 and can connect to the external apparatus 18 via the second network 22 .
  • the information processing apparatus 16 includes the Web API 24 B (the first transmitting unit or receiving unit), the specifying unit 24 D (the specifying unit), the switching unit 24 C (the first switching unit or the second switching unit), and the receiver 24 A (the second receiving unit).
  • the Web API 24 B (the first receiving unit) receives the client information 28 B related to the client apparatus 12 from the client apparatus 12 via the first network 20 .
  • the specifying unit 24 D specifies the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12 .
  • the switching unit 24 C (the first switching unit) switches the connection from the first network 20 to the second network 22 .
  • the receiver 24 A (the second receiving unit), based on the client information 28 B and the printer 14 (the device) specified by the specifying unit 24 D (the specifying unit), receives the control program for controlling the printer 14 (the device) from the external apparatus 18 via the second network 22 .
  • the switching unit 24 C (the second switching unit) switches the connection from the second network 22 to the first network 20 .
  • the Web API 24 B (the transmitting unit) transmits the control program received by the Web API 24 B (the second receiving unit) to the client apparatus 12 via the first network 20 .
  • an environment in which the client apparatus 12 is limited in terms of connection to the second network 22 is maintained, and the connection of the information processing apparatus 16 is switched between the first network 20 and the second network 22 .
  • the information processing apparatus 16 receives the control program from the external apparatus 18 via the second network 22 .
  • the information processing apparatus 16 transmits the control program to the client apparatus 12 via the first network 20 .
  • the environment in which the client apparatus 12 cannot access the second network 22 can be maintained.
  • work when the control program is installed on the client apparatus 12 by the manager of the client apparatus 12 or the first network 20 can be reduced.
  • the information processing apparatus 16 of the present embodiment can maintain the environment in which the connection from the client apparatus 12 to the second network 22 (the external network) is controlled (that is, the connection is limited) and reduce loads on the manager side when the control program is installed on the client apparatus 12 .
  • the Web API 24 B (the first receiving unit) further receives the specifying information of the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12 from the client apparatus 12 .
  • the specifying unit 24 D (the specifying unit) specifies the printer 14 (the device) specified by the specifying information to be the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12 .
  • the client apparatus 12 is connected to various printers 14 depending on conditions. Given this situation, the acquired control program differs by the client apparatus 12 .
  • the information processing apparatus 16 of the present embodiment has the above configuration, whereby the control program suitable for the client apparatus 12 is automatically installed without requiring the manager to manually install the control program such as a driver on the client apparatus 12 . Consequently, in addition to the above effect, loads on the manager side can be further reduced.
  • the installing unit 30 C (the installing unit) of the client apparatus 12 installs the control program received from the information processing apparatus 16 on the client apparatus 12 .
  • the inputting of the identification information of the information processing apparatus 16 is the only operation by the user of the client apparatus 12 (refer to SEQ 102 in FIG. 6 ). Consequently, loads on the user (including the manager) can be reduced.
  • the information processing apparatus 16 can maintain the environment in which the client apparatus 12 is limited in terms of connection to the second network 22 (the external network) and reduce loads on the manager side when the control program is installed on the client apparatus 12 .
  • the information processing apparatus 16 is portable.
  • the device is an image forming apparatus such as the printer 14 , for example.
  • the control program is the printer driver, for example.
  • the information processing apparatus 16 such as a mobile device that can connect to networks, in an environment in which a plurality of Wifi and a cellular phone line such as 4G are mixed, basically connects to only either one of the networks to perform communication.
  • Wifi connection as the first network 20
  • the cellular phone line such as 4G as the second network 22
  • the switching unit 24 C of the client apparatus 12 switches the connection from the second network 22 to the first network 20 , whereby the client application 30 in the client apparatus 12 can connect to the server application 24 in the information processing apparatus 16 .
  • the switching unit 24 C of the information processing apparatus 16 can switch the connection using a function of the OS.
  • FIG. 1 is a diagram of an example of an information processing system 11 according to the present embodiment.
  • the information processing system 11 includes a client apparatus 13 and an information processing apparatus 17 .
  • the information processing system 11 may include a plurality of client apparatuses 13 .
  • the information processing system 11 may include a plurality of information processing apparatuses 17 .
  • the client apparatuses 13 are connected to devices such as the printer 14 via the first network 20 .
  • the first network 20 and the printer 14 are the same as or similar to those according to the first embodiment.
  • a description will be given for a case in which the device connected to the first network 20 is the printer 14 as an example.
  • the client apparatuses 13 are not connected to the second network 22 .
  • the external apparatus 18 is connected to the second network 22 .
  • the external apparatus 18 and the second network 22 are the same as or similar to those according to the first embodiment.
  • the client apparatus 13 can connect to the devices connected to the first network 20 and the other client apparatus 13 .
  • the client apparatuses 13 cannot connect to the second network 22 .
  • the information processing apparatus 17 is connected to the client apparatuses 13 via the first network 20 and is connected to the external apparatus 18 via the second network 22 . In other words, the information processing apparatus 17 can connect to both the client apparatuses 13 and the second network 22 . However, the information processing apparatus 17 cannot connect to both the client apparatuses 13 and the second network 22 simultaneously.
  • the following describes a hardware configuration of the client apparatus 13 , the information processing apparatus 17 , and the external apparatus 18 according to the present embodiment.
  • FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 13 , the information processing apparatus 17 , and the external apparatus 18 according to the present embodiment.
  • the client apparatus 13 , the information processing apparatus 17 , and the external apparatus 18 each include the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , and the I/F 58 .
  • the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , and the I/F 58 are connected to each other via the bus 64 .
  • the display 60 and the operating unit 62 are connected to the I/F 58 .
  • the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , the I/F 58 , the bus 64 , the display 60 , and the operating unit 62 are the same as or similar to those according to the first embodiment.
  • FIG. 7 is a functional block diagram of the information processing apparatus 17 .
  • the information processing apparatus 17 includes a server application 25 and the storage unit 28 .
  • the storage unit 28 is the same as or similar to that according to the first embodiment.
  • the server application 25 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 13 .
  • the server application 25 is installed on the information processing apparatus 17 in advance.
  • the server application 25 includes the receiver 24 A (the second receiving unit), a Web API 25 B (the first receiving unit), the switching unit 24 C (the first switching unit or the second switching unit), a specifying unit 25 D (the specifying unit), and a transmitting unit 25 E (the transmitting unit).
  • the processor of the information processing apparatus 17 executes the server application 25 , whereby the receiver 24 A, the Web API 25 B, the switching unit 24 C, and the specifying unit 25 D are loaded onto a main memory and are generated on the main memory, for example.
  • the switching unit 24 C and the receiver 24 A are the same as or similar to those according to the first embodiment.
  • the specifying unit 25 D specifies the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 13 .
  • This specification of the printer 14 (the device) is the same as or similar to that by the specifying unit 24 D according to the first embodiment.
  • the specifying unit 25 D further specifies the client apparatus 13 on which a client application 31 (refer to FIG. 8 ) for acquiring the control program from the information processing apparatus 17 has been installed among the client apparatuses 13 .
  • the client application 31 is an application program for causing the client apparatus 13 to acquire the control program from the information processing apparatus 17 similarly to the client application 30 according to the first embodiment.
  • the specifying unit 25 D calls a Web API 31 B (refer to FIG. 8 ) for the client application 31 to the client apparatus 13 connected to a network the subnet of which is the same (the first network 20 ), for example.
  • the specifying unit 25 D determines the client apparatus 13 to be the client apparatus 13 on which the client application 31 has been installed. Success in the calling of the Web API 31 B (refer to FIG. 8 ) for the client application 31 means a state in which a response is returned from the client apparatus 13 to a request from the server application 25 .
  • the client application 31 is present for each of the information processing apparatuses 17 .
  • the client application 31 for acquiring the control program from the external apparatus 18 is present for each of the information processing apparatuses 17 .
  • each of the information processing apparatuses 17 stores the client application installer 28 A of the client application 31 for each of the information processing apparatuses 17 in the storage unit 28 in advance.
  • the specifying unit 25 D specifies the client apparatus 13 on which the client application 31 for the information processing apparatus 17 has been installed.
  • the Web API 25 B is the same as or similar to the Web API 24 B according to the first embodiment.
  • the transmitting unit 25 E transmits identification information (an IP address, for example) of the information processing apparatus 17 and a transmission request of download request information of the control program to the client apparatus 13 specified by the specifying unit 25 D.
  • the download request information is the same as or similar to that according to the first embodiment.
  • the client apparatus 13 can transmit the download request information to the information processing apparatus 17 identified by the identification information received from the information processing apparatus 17 without receiving any operation by the user with respect to the identification information of the information processing apparatus 17 .
  • FIG. 8 is a functional block diagram of the client apparatus 13 according to the present embodiment.
  • the client apparatus 13 includes the client application 31 and the storage unit 34 .
  • the client application 31 is an application program for acquiring the control program from the information processing apparatus 17 similarly to the client application 30 according to the first embodiment. By executing the client application installer 28 A, the client application 31 is installed on the client apparatus 13 .
  • the client application 31 includes the searching unit 30 A, the Web API 31 B, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E.
  • the processor of the client apparatus 13 executes the client application 31 , whereby the searching unit 30 A, the Web API 31 B, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E are loaded onto a main memory and are generated on the main memory.
  • the searching unit 30 A, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E are the same as or similar to those according to the first embodiment.
  • the Web API 31 B receives the identification information of the information processing apparatus 17 and the transmission request of the download request information of the control program from the information processing apparatus 17 .
  • the web browser 35 of the client apparatus 12 receives the identification information of the information processing apparatus 16 from the operating unit 62 (refer to FIG. 5 ).
  • the Web API 31 B receives the identification information of the information processing apparatus 17 from the information processing apparatus 17 .
  • the transmitting unit 30 D When receiving the identification information of the information processing apparatus 17 and the transmission request, the transmitting unit 30 D transmits the download request information to the information processing apparatus 17 identified by the identification information.
  • the user who operates the client apparatus 13 is not required to operate the operating unit 62 of the client apparatus 13 for the purpose of inputting the identification information of the information processing apparatus 17 to be connected when the control program is acquired.
  • FIG. 9 is a sequence diagram of the procedure of the information processing executed by the information processing system 11 .
  • the switching unit 24 C of the information processing apparatus 17 switches connection from the second network 22 to the first network 20 (SEQ 200 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the specifying unit 25 D of the information processing apparatus 17 specifies the client apparatus 13 on which the client application 31 corresponding to the information processing apparatus 17 has been installed among the client apparatuses 13 connected to the first network 20 (SEQ 202 ).
  • the transmitting unit 25 E of the information processing apparatus 17 transmits the identification information (the IP address, for example) of the information processing apparatus 17 and the transmission request of the download request information of the control program to the client apparatus 13 specified at SEQ 202 (SEQ 204 ).
  • the information processing system 11 executes the processing of SEQ 206 to SEQ 226 similarly to SEQ 108 to SEQ 128 (refer to FIG. 6 ) in the information processing system 10 according to the first embodiment.
  • the searching unit 30 A of the client apparatus 13 searches for all the devices (the printers 14 ) connected to the first network 20 (SEQ 206 and SEQ 208 ). With this search, the searching unit 30 A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14 .
  • the transmitting unit 30 D of the client apparatus 13 transmits the download request information of the control program containing the device names (the specifying information) searched at SEQ 206 and SEQ 208 to the information processing apparatus 17 identified by the identification information acquired from the information processing apparatus 17 at SEQ 204 (SEQ 210 ).
  • the download request information transmitted at SEQ 210 contains the client information 28 B (the IP address, for example) of the client apparatus 13 , the device names of the respective printers 14 searched for by the searching unit 30 A, and the information on the OS of the client apparatus 13 .
  • the Web API 25 B of the information processing apparatus 17 stores the download request information acquired from the client apparatus 13 in the storage unit 28 .
  • the specifying unit 25 D of the information processing apparatus 17 specifies the printer 14 that can be controlled by the client apparatus 13 from the acquired download request information (SEQ 211 ).
  • the switching unit 24 C switches the connection from the first network 20 to the second network 22 (SEQ 212 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the Web API 25 B of the information processing apparatus 17 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14 ) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 13 contained in the download request information received at SEQ 210 (SEQ 214 and SEQ 216 ).
  • the receiver 24 A stores the acquired control program in association with the corresponding download request information in the storage unit 28 .
  • the switching unit 24 C switches the connection from the second network 22 to the first network 20 (SEQ 218 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the Web API 25 B of the information processing apparatus 17 transmits a download completion notification of the control program to the client apparatus 13 as the transmission source of the download request information received at SEQ 210 (SEQ 220 ).
  • the Web API 31 B of the client apparatus 13 Upon reception of the download completion notification from the information processing apparatus 17 , the Web API 31 B of the client apparatus 13 receives (that is, downloads) the control program from the information processing apparatus 17 (SEQ 222 and SEQ 224 ).
  • the installing unit 30 C of the client apparatus 13 installs the control program downloaded by the Web API 31 B at SEQ 222 and SEQ 224 on the client apparatus 13 (SEQ 226 ).
  • the installing unit 30 C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30 A. The present sequence then ends.
  • the specifying unit 25 D (the specifying unit) further specifies the client apparatus 13 on which the client application 31 for acquiring the control program from the information processing apparatus 17 has been installed among the client apparatuses 13 .
  • the transmitting unit 25 E (the transmitting unit) transmits the identification information of the information processing apparatus 17 and the transmission request of the download request information of the control program to the specified client apparatus 13 .
  • the client apparatus 13 can transmit the download request information to the information processing apparatus 17 identified by the identification information received from the information processing apparatus 17 without any operation instruction by the user.
  • the user who operates the client apparatus 13 is not required to operate the operating unit 62 of the client apparatus 13 for the purpose of inputting the identification information of the information processing apparatus 17 to be connected when the control program is acquired.
  • the information processing apparatus 17 can further reduce loads on the manager side when the control program is installed on the client apparatus 13 in addition to the effects according to the first embodiment.
  • the client application of the latest version can be used by the client apparatus 15 .
  • FIG. 1 is a diagram of an example of an information processing system 9 according to the present embodiment.
  • the information processing system 9 includes a client apparatus 15 and an information processing apparatus 19 .
  • the information processing system 9 may include a plurality of client apparatuses 15 .
  • the information processing system 9 may include a plurality of information processing apparatuses 19 .
  • the client apparatuses 15 are connected to devices such as the printer 14 via the first network 20 .
  • the first network 20 and the printer 14 are the same as or similar to those according to the first embodiment.
  • the client apparatuses 15 are not connected to the second network 22 .
  • the external apparatus 18 is connected to the second network 22 .
  • the external apparatus 18 and the second network 22 are the same as or similar to those according to the first embodiment.
  • the client apparatus 15 can connect to the devices connected to the first network 20 and the other client apparatus 15 .
  • the client apparatuses 15 cannot connect to the second network 22 .
  • the information processing apparatus 19 is connected to the client apparatuses 15 via the first network 20 and is connected to the external apparatus 18 via the second network 22 . In other words, the information processing apparatus 19 can connect to both the client apparatuses 15 and the second network 22 . However, the information processing apparatus 19 cannot connect to both the client apparatuses 15 and the second network 22 simultaneously.
  • the following describes a hardware configuration of the client apparatus 15 , the information processing apparatus 19 , and the external apparatus 18 according to the present embodiment.
  • FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 15 , the information processing apparatus 19 , and the external apparatus 18 according to the present embodiment.
  • the client apparatus 15 , the information processing apparatus 19 , and the external apparatus 18 each include the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , and the I/F 58 .
  • the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , and the I/F 58 are connected to each other via the bus 64 .
  • the display 60 and the operating unit 62 are connected to the I/F 58 .
  • the CPU 50 , the RAM 52 , the ROM 54 , the HDD 56 , the I/F 58 , the bus 64 , the display 60 , and the operating unit 62 are the same as or similar to those according to the first embodiment.
  • FIG. 10 is a functional block diagram of the information processing apparatus 19 .
  • the information processing apparatus 19 includes a server application 27 and the storage unit 28 .
  • the storage unit 28 is the same as or similar to that according to the first embodiment.
  • the server application 27 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 15 .
  • the server application 27 is installed on the information processing apparatus 19 in advance.
  • the server application 27 includes the receiver 24 A (the second receiving unit), a Web API 27 B (the first receiving unit), the switching unit 24 C (the first switching unit or the second switching unit), the specifying unit 25 D (the specifying unit), the transmitting unit 25 E (the transmitting unit), an updating unit 27 E, and an acquiring unit 27 F.
  • the processor of the information processing apparatus 19 executes the server application 27 , whereby the receiver 24 A, the Web API 27 B, the switching unit 24 C, the specifying unit 25 D, the transmitting unit 25 E, the updating unit 27 E, and the acquiring unit 27 F are loaded onto a main memory and are generated on the main memory, for example.
  • the switching unit 24 C and the receiver 24 A are the same as or similar to those according to the first embodiment.
  • the specifying unit 25 D and the transmitting unit 25 E are the same as or similar to those according to the second embodiment.
  • the acquiring unit 27 F acquires a client application 36 of the latest version (refer to FIG. 11 ) from the external apparatus 18 .
  • the client application 36 is an application program for causing the client apparatus 15 to acquire the control program from the information processing apparatuses 19 similarly to the client application 30
  • the acquiring unit 27 F of the information processing apparatuses 19 acquires the version of the client application 36 stored in the external apparatus 18 from the external apparatus 18 via the second network 22
  • the acquiring unit 27 F reads the version of the client application 36 contained in the client application installer 28 A stored in the storage unit 28 of the information processing apparatuses 19 . If the version acquired from the external apparatus 18 is newer than the version of the client application 36 contained in the client application installer 28 A stored in the storage unit 28 , the acquiring unit 27 F acquires the client application 36 of the latest version from the external apparatus 18 .
  • the updating unit 27 E updates the client application 36 stored in the storage unit 28 to the client application 36 of the latest version acquired by the acquiring unit 27 F.
  • the acquiring unit 27 F downloads the client application installer 28 A of the client application 36 of the latest version from the external apparatus 18 .
  • the updating unit 27 E updates the client application installer 28 A stored in the storage unit 28 to the client application installer 28 A of the client application 36 of the latest version.
  • the Web API 27 B is the same as or similar to the Web API 25 B according to the second embodiment.
  • the Web API 27 B (the first receiving unit) further receives from the client apparatus 15 specified by the specifying unit 25 D (the specifying unit) via the first network 20 the version of the client application 36 installed on the client apparatus 15 . If the version received by the Web API 27 B (the first receiving unit) is older than the latest version acquired by the acquiring unit 27 F, the transmitting unit 25 E (the transmitting unit) transmits, to the client apparatus 15 via the first network 20 , update instruction information that instructs updating to the client application 36 of the latest version.
  • FIG. 11 is a functional block diagram of the client apparatus 15 according to the present embodiment.
  • the client apparatus 15 includes the client application 36 and the storage unit 34 .
  • the client application 36 is an application program for acquiring the control program from the information processing apparatus 19 similarly to the client application 30 according to the first embodiment. By executing the client application installer 28 A, the client application 36 is installed on the client apparatus 15 .
  • the client application 36 includes the searching unit 30 A, a Web API 35 B, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E.
  • the processor of the client apparatus 15 executes the client application 36 , whereby the searching unit 30 A, the Web API 35 B, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E are loaded onto a main memory and are generated on the main memory.
  • the searching unit 30 A, the installing unit 30 C, the transmitting unit 30 D, and the display controlling unit 30 E are the same as or similar to those according to the first embodiment.
  • the Web API 35 B is the same as or similar to the Web API 31 B according to the second embodiment.
  • the Web API 35 B further receives the update instruction information that instructs updating to the client application 36 of the latest version from the information processing apparatus 19 .
  • the Web API 35 B then downloads the client application installer 28 A of the latest client application 36 from the information processing apparatus 19 and executes the client application installer 28 A. With this operation, the client application 36 of the client apparatus 15 is updated to the latest version.
  • FIG. 12 is a sequence diagram of the procedure of the information processing executed by the information processing system 9 .
  • the switching unit 24 C of the information processing apparatus 19 switches connection from the first network 20 to the second network 22 (SEQ 300 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the acquiring unit 27 F of the information processing apparatus 19 accesses the external apparatus 18 and acquires the version of the client application 36 stored in the external apparatus 18 (SEQ 302 and SEQ 304 ).
  • the acquiring unit 27 F of the information processing apparatus 19 compares the version of the client application 36 contained in the client application installer 28 A stored in the storage unit 28 of the information processing apparatus 19 with the version acquired from the external apparatus 18 (SEQ 306 ).
  • the acquiring unit 27 F of the information processing apparatus 19 acquires the client application 36 of the latest version from the external apparatus 18 (SEQ 308 and SEQ 310 ). In the present embodiment, as described above, the acquiring unit 27 F downloads the client application installer 28 A of the client application 36 of the latest version from the external apparatus 18 .
  • the updating unit 27 E of the information processing apparatus 19 updates the client application installer 28 A stored in the storage unit 28 to the client application installer 28 A of the client application 36 of the latest version (SEQ 312 ).
  • the switching unit 24 C of the information processing apparatus 19 switches the connection from the second network 22 to the first network 20 (SEQ 314 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the specifying unit 25 D of the information processing apparatus 19 specifies the client apparatus 15 on which the client application 36 corresponding to the information processing apparatus 19 has been installed among the client apparatuses 15 connected to the first network 20 (SEQ 316 ).
  • the Web API 27 B of the information processing apparatus 19 receives from the client apparatus 15 specified at SEQ 316 the version of the client application 36 installed on the client apparatus 15 (SEQ 318 and SEQ 320 ).
  • the Web API 27 B compares the version received at SEQ 320 with the version of the client application 36 of the client application installer 28 A stored in the storage unit (SEQ 322 ).
  • the Web API 27 B transmits to the client apparatus 15 the update instruction information that instructs updating to the client application 36 of the latest version (SEQ 324 ).
  • the Web API 35 B of the client apparatus 15 downloads the client application installer 28 A of the client application 36 of the latest version from the information processing apparatus 19 (SEQ 326 and SEQ 328 ). The Web API 35 B then executes the downloaded client application installer 28 A. With this operation, the client application 36 of the client apparatus 15 is updated to the latest version (SEQ 330 ).
  • the information processing system 9 executes the processing of SEQ 332 to SEQ 356 similarly to SEQ 204 to SEQ 226 (refer to FIG. 9 ) according to the second embodiment.
  • the transmitting unit 25 E of the information processing apparatus 19 transmits identification information (an IP address, for example) of the information processing apparatus 19 and a transmission request of download request information of the control program to the client apparatus 15 specified at SEQ 316 (SEQ 332 ).
  • the searching unit 30 A of the client apparatus 15 searches for all the devices (the printers 14 ) connected to the first network 20 (SEQ 334 and SEQ 336 ). With this search, the searching unit 30 A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14 .
  • the transmitting unit 30 D of the client apparatus 15 transmits the download request information of the control program containing the device names (the specifying information) searched at SEQ 334 and SEQ 336 to the information processing apparatus 19 identified by the identification information acquired from the information processing apparatus 19 at SEQ 332 (SEQ 338 ).
  • the download request information transmitted at SEQ 338 contains the client information 28 B (the IP address, for example) of the client apparatus 15 , the device names of the respective printers 14 searched for by the searching unit 30 A, and the information on the OS of the client apparatus 15 .
  • the Web API 27 B of the information processing apparatus 19 stores the download request information acquired from the client apparatus 15 in the storage unit 28 .
  • the specifying unit 25 D of the information processing apparatus 19 specifies the printer 14 that can be controlled by the client apparatus 15 from the acquired download request information (SEQ 340 ).
  • the switching unit 24 C switches the connection from the first network 20 to the second network 22 (SEQ 342 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the Web API 27 B of the information processing apparatus 19 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14 ) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 15 contained in the download request information received at SEQ 338 (SEQ 344 and SEQ 346 ).
  • the receiver 24 A stores the acquired control program in association with the corresponding download request information in the storage unit 28 .
  • the switching unit 24 C switches the connection from the second network 22 to the first network 20 (SEQ 348 ).
  • the determination of the first network 20 and the second network 22 by the switching unit 24 C is performed similarly to SEQ 100 described above (refer to FIG. 6 ).
  • the Web API 27 B of the information processing apparatus 19 transmits a download completion notification of the control program to the client apparatus 15 as the transmission source of the download request information received at SEQ 338 (SEQ 350 ).
  • the Web API 35 B of the client apparatus 15 Upon reception of the download completion notification from the information processing apparatus 19 , the Web API 35 B of the client apparatus 15 receives (that is, downloads) the control program from the information processing apparatus 19 (SEQ 352 and SEQ 354 ).
  • the installing unit 30 C of the client apparatus 15 installs the control program downloaded by the Web API 35 B at SEQ 352 and SEQ 354 on the client apparatus 15 (SEQ 356 ).
  • the installing unit 30 C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30 A (SEQ 358 ). The present sequence then ends.
  • the information processing apparatus 19 further includes the acquiring unit 27 F (an acquiring unit) and the updating unit 27 E (an updating unit).
  • the acquiring unit 27 F acquires the client application 36 of the latest version from the external apparatus 18 .
  • the updating unit 27 E updates the installed client application 36 to the acquired client application 36 of the latest version.
  • the information processing apparatus 19 can easily update the client application 36 to the client application 36 of the latest version in addition to the effects according to the first embodiment and the second embodiment.
  • the Web API 27 B (the first receiving unit) of the information processing apparatus 19 further receives from the client apparatus 15 specified by the specifying unit 25 D (the specifying unit) via the first network 20 the version of the client application 36 installed on the client apparatus 15 . If the version received by the Web API 27 B (the first receiving unit) is older than the latest version acquired by the acquiring unit 27 F, the Web API 27 B (the transmitting unit) transmits to the client apparatus 15 via the first network 20 the update instruction information that instructs updating to the client application 36 of the latest version.
  • the information processing apparatus 19 can update the client application 36 of the client apparatus 15 to the latest version more easily in addition to the above effect.
  • Computer program for executing the various kinds of processing executed by the client apparatuses 12 , 13 , and 15 , the information processing apparatuses 16 , 17 , and 19 , and the external apparatus 18 according to the embodiments are embedded and provided in a ROM, for example.
  • the computer programs for executing the various kinds of processing executed by the client apparatuses 12 , 13 , and 15 the information processing apparatuses 16 and 17 , and the external apparatus 18 according to the embodiments may be recorded and provided in a computer-readable recording medium such as a compact disc read only memory (CD-ROM), a flexible disk (FD), a compact disc recordable (CD-R), and a digital versatile disc (DVD), as a file in format installable on or format executable by these apparatuses.
  • a computer-readable recording medium such as a compact disc read only memory (CD-ROM), a flexible disk (FD), a compact disc recordable (CD-R), and a digital versatile disc (DVD)
  • the computer programs for executing the various kinds of processing executed by the client apparatuses 12 , 13 , and 15 the information processing apparatuses 16 and 17 , and the external apparatus 18 according to the embodiments may be stored in a computer connected to a network such as the Internet and provided by being downloaded via the network.
  • the computer programs for executing the various kinds of processing executed by the client apparatuses 12 , 13 , and 15 the information processing apparatuses 16 and 17 , and the external apparatus 18 according to the embodiments may be provided or distributed via a network such as the Internet.
  • the computer programs for executing the various kinds of processing executed by the client apparatuses 12 , 13 , and 15 the information processing apparatuses 16 and 17 , and the external apparatus 18 according to the embodiments have a module structure containing the above units.
  • a CPU reads each of the programs from a storage medium such as a ROM and executes it, whereby the units are loaded onto the main memory and are generated on the main memory.
  • the present invention produces an advantageous effect of making it possible to maintain an environment in which connection from client apparatuses to external networks is controlled and to reduce loads on the manager side when the control program is installed on the client apparatuses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Software Systems (AREA)

Abstract

An information processing apparatus, which connects to at least one client apparatus via a first network and is connectable to an external apparatus via a second network, includes first and second receiving units, a specifying unit, first and second switching units, and a transmitting unit. The first receiving unit receives client information from the client apparatus via the first network. The specifying unit specifies a device connected to the first network and controllable by the client apparatus. The first switching unit switches connection from the first network to the second network. The second receiving unit receives, based on the client information and the specified device, a control program for controlling the device from the external apparatus via the second network. The second switching unit switches connection from the second network to the first network. The transmitting unit transmits the received control program to the client apparatus via the first network.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2015-056321 filed in Japan on Mar. 19, 2015 and Japanese Patent Application No. 2016-006605 filed in Japan on Jan. 15, 2016.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an information processing apparatus, an information processing system, and a computer program product.
2. Description of the Related Art
In view of security and the like, environments are constructed in which client apparatuses connected to a local network such as an in-house network are limited in terms of connection to external networks. However, in an environment in which a plurality of client apparatuses and printers are connected via a network, a manager who manages device drivers to be installed on the client apparatuses is required to perform processing for installation and an update every time when an update of a device driver or installation of a new client apparatus is taken place, which takes time and trouble.
In view of such circumstances, a technique is disclosed in which a printer connected to a local network acquires a driver from an external apparatus via a router and an external network, and the printer distributes the driver to client apparatuses connected to the local network, for example (Japanese Laid-open Patent Publication No. 2008-059239). In view of security and the like, environments are constructed in which client apparatuses connected to a local network such as an in-house network are limited in terms of connection to external networks.
However, the apparatuses connected to the local network in such an environment cannot download a control program for controlling a device from the external apparatus via the external network. For this reason, it has conventionally been difficult to maintain an environment in which connection from client apparatuses to external networks is controlled and to reduce loads on the manager side when the control program is installed on the client apparatuses.
SUMMARY OF THE INVENTION
It is an object of the present invention to at least partially solve the problems in the conventional technology.
According to an embodiment, an information processing apparatus connects to at least one client apparatus via a first network and is capable of connecting to an external apparatus via a second network. The information processing apparatus includes a first receiving unit, a specifying unit, a first switching unit, a second receiving unit, a second switching unit, and a transmitting unit. The first receiving unit receives client information related to the client apparatus from the client apparatus via the first network. The specifying unit specifies a device that is connected to the first network and is capable of being controlled by the client apparatus. The first switching unit switches connection from the first network to the second network. The second receiving unit receives, based on the client information and the device specified by the specifying unit, a control program for controlling the device from the external apparatus via the second network. The second switching unit switches connection from the second network to the first network. The transmitting unit transmits the control program received by the second receiving unit to the client apparatus via the first network.
The above and other objects, features, advantages and technical and industrial significance of this invention will be better understood by reading the following detailed description of presently preferred embodiments of the invention, when considered in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of an example of an information processing system;
FIG. 2 is a diagram of an example of a hardware configuration;
FIG. 3 is a functional block diagram of an information processing apparatus;
FIG. 4 is a diagram of an example of a data configuration of download request information;
FIG. 5 is a functional block diagram of a client apparatus;
FIG. 6 is a sequence diagram of a procedure of information processing;
FIG. 7 is a functional block diagram of an information processing apparatus;
FIG. 8 is a functional block diagram of a client apparatus;
FIG. 9 is a sequence diagram of a procedure of information processing;
FIG. 10 is a functional block diagram of an information processing apparatus;
FIG. 11 is a functional block diagram of a client apparatus; and
FIG. 12 is a sequence diagram of a procedure of information processing.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Embodiments will be described in detail with reference to the attached drawings.
First Embodiment
FIG. 1 is a diagram of an example of an information processing system 10.
The information processing system 10 includes client apparatuses 12 and an information processing apparatus 16.
The client apparatuses 12 are connected to devices such as printers 14 via a first network 20. The client apparatuses 12 are not connected to a second network 22.
The first network 20 is a network connected to the client apparatuses 12 and the printers 14. The first network 20 is a network that requires authentication by a proxy server for Internet permission for connecting to the Internet via an intranet, for example. The first network 20 is specifically a local network such as an in-house local area network (LAN). The in-house LAN is a network constructed so as to enable only limited terminals to be connected thereto. The in-house LAN is a network constructed so as to enable only devices such as personal computers (PCs) and the printers 14 installed in a company to be connected thereto, for example.
The apparatuses (the client apparatuses 12 and the printers 14) connected to the first network 20 communicate in accordance with a known protocol such as TCP/IP, for example.
One or a plurality of client apparatuses 12 and one or a plurality of devices are connected to the first network 20. In other words, the client apparatuses 12 are connected to the devices via the first network 20.
The devices perform various kinds of processing responsive to instructions from the client apparatuses 12. The devices are known image forming apparatuses, scanner apparatuses, fax apparatuses, or multifunction peripherals having a plurality of functions, for example.
In the present embodiment, a description will be given for a case in which the type of the device connected to the first network 20 is the printer 14 as an example. The printer 14 is a known image forming apparatus.
The second network 22 is a network connected to an external apparatus 18 that stores therein a control program (details will be described below) to be installed on the client apparatuses 12. The second network 22 is a network that can connect to an external network such as the Internet, for example. In other words, the second network 22 is a network that can connect to the Internet beyond a proxy server of an in-house network such as the first network 20, for example. The apparatuses connected to the second network 22 communicate in accordance with a known communication protocol.
As described above, the client apparatuses 12 are not connected to the second network 22. In other words, the client apparatus 12 can connect to the devices and the other client apparatus 12 connected to the first network 20. However, the client apparatuses 12 are limited to access (be connected to) the external apparatus 18 connected to the second network 22. This is because the client apparatuses 12 are made not connectable to an external network (the second network 22) in view of security. The first network 20 and the second network 22 are not connected to each other.
The external apparatus 18 is a known computer that stores therein the control program for controlling the printer 14 (the device). The external apparatus 18 is a cloud server, for example. When the device is the printer 14, the control program for controlling the device is a printer driver, for example. When the device is a scanner, the control program for controlling the device is a scanner driver, for example. The control program stored in the external apparatus 18 is of the latest version.
The information processing apparatus 16 is connected to the client apparatuses 12 via the first network 20 and is connected to the external apparatus 18 via the second network 22. In other words, the information processing apparatus 16 can connect to both the client apparatuses 12 and the second network 22. However, the information processing apparatus 16 cannot connect to both the client apparatuses 12 and the second network 22 simultaneously (details will be described below).
The information processing apparatus 16 is preferably portable. Making the information processing apparatus 16 portable enables a manager to cause the information processing apparatus 16 to execute pieces of processing described below at any place. The information processing apparatus 16 is specifically a tablet terminal, a smart device, or the like.
A network configuration of the information processing system 10 is only necessary to be a state in which the second network 22 to which the external apparatus 18 that stores therein the control program connects and the first network 20 to which the client apparatuses 12 connect are separate networks and the client apparatuses 12 cannot connect to the first network 20 and is not limited to the configuration illustrated in FIG. 1.
Next, the following describes a hardware configuration of the client apparatus 12, the information processing apparatus 16, and the external apparatus 18 in the present embodiment.
FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 12, the information processing apparatus 16, and the external apparatus 18 in the present embodiment.
The client apparatus 12, the information processing apparatus 16, and the external apparatus 18 in the present embodiment each include a central processing unit (CPU) 50, a random access memory (RAM) 52, a read only memory (ROM) 54, a hard disk drive (HDD) 56, and an interface (I/F) 58. The CPU 50, the RAM 52, the ROM 54, the HDD 56, and the I/F 58 are connected to each other via a bus 64. A display 60 such as a known display apparatus and an operating unit 62 that receives various kinds of operations by a user are connected to the I/F 58.
The display 60 displays various kinds of images. The display 60 is a known display apparatus such as a liquid crystal display (LCD) or organic electro luminescence (EL), for example. The operating unit 62 is a member for allowing the user to perform various kinds of operation input. The operating unit 62 is a mouse, a button, a remote controller, a keyboard, or a voice recognition apparatus such as a microphone, for example.
The display 60 and the operating unit 62 may integrally be formed. Specifically, the display 60 and the operating unit 62 may be a touch panel including both an input function and a display function.
Next, the following describes the information processing apparatus 16. FIG. 3 is a functional block diagram of the information processing apparatus 16.
The information processing apparatus 16 includes a server application 24 and a storage unit 28. The storage unit 28 is a hard disk drive apparatus (the HDD 56) or a storage medium such as an internal memory. The storage unit 28 stores therein various kinds of data.
In the present embodiment, the storage unit 28 stores therein a client application installer 28A and client information 28B.
The client application installer 28A is an execution file (exe file) for installing a client application (a client application 30 described below) on the client apparatus 12. The client application is an application program for causing the client apparatus 12 to acquire the control program from the information processing apparatus 16.
In other words, the client application installer 28A includes the client application. When being executed, the client application installer 28A sets up the client application in the client apparatus 12.
The client information 28B is information related to the client apparatus 12. In the present embodiment, the client information 28B is identification information (an IP address, for example) of the client apparatus 12.
The server application 24 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 12. The server application 24 is installed on the information processing apparatus 16 in advance.
The server application 24 includes a receiver 24A (a second receiving unit), a web application programming interface (Web API) 24B (a first receiving unit or transmitting unit), a switching unit 24C (a first switching unit; a second switching unit), and a specifying unit 24D (a specifying unit).
In the present embodiment, the processor of the information processing apparatus 16 executes the server application 24, whereby the receiver 24A, the Web API 24B, the switching unit 24C, and the specifying unit 24D are loaded onto a main memory and are generated on the main memory, for example.
The switching unit 24C switches connection from the first network 20 to the second network 22. The switching unit 24C switches connection from the second network 22 to the first network 20. Specifically, when connection with the second network 22 becomes necessary, the switching unit 24C terminates the connection with the first network 20 and connects to the second network 22. When connection with the first network 20 becomes necessary, the switching unit 24C terminates the connection with the second network 22 and connects to the first network 20. In other words, the information processing apparatus 16 cannot connect to both the first network 20 and the second network 22 at the same timing.
The switching unit 24C connects to the second network 22 using a line for portable terminals such as the 4G line, for example. The switching unit 24C connects to the first network 20 using WiFi (registered trademark) connection, for example.
The Web API 24B is a system that uses functions of another program from an external computer program using HTTP. In the present embodiment, the client application 30 in the client apparatus 12 uses the Web API 24B in order to use functions of the server application 24.
The Web API 24B corresponds to the first receiving unit and transmitting unit. The Web API 24B receives the client information 28B related to the client apparatus 12 from the client apparatus 12 via the first network 20.
The specifying unit 24D specifies a device that is connected to the first network 20 and can be controlled by the client apparatus 12. In the present embodiment, a description will be given for a case in which the device is the printer 14 as an example.
In the present embodiment, the Web API 24B receives specifying information from the client apparatus 12 via the first network 20. The specifying information is information for specifying the device that is connected to the first network 20 and can be controlled by the client apparatus 12. The specifying information is information that can specify the printer 14 (the device). In the present embodiment, a description will be given for a case in which the specifying information is a device name of the printer 14. The specifying unit 24D specifies the printer (the device) specified by the device name (the specifying information) received by the Web API 24B as the device that is connected to the first network 20 and can be controlled by the client apparatus 12.
Based on the client information 28B received from the client apparatus 12 and the printer 14 specified by the specifying unit 24D, the receiver 24A downloads (receives) the control program for controlling the printer 14 from the external apparatus 18 via the second network 22.
The receiver 24A downloads the control program from the external apparatus 18 as the following procedure.
Specifically, when the switching unit 24C switches connection from the second network 22 to the first network 20, the Web API 24B receives download request information from the client apparatus 12.
The download request information is information that requests downloading of the control program for controlling at least part of the printers 14 connected to the first network 20.
The download request information contains the client information 28B (an IP address, for example) of the client apparatus 12 serving as a transmission source of the download request information, the device name (the specifying information) of the device (the printer 14 in the present embodiment) connected to the first network 20, and information on an operating system (OS) of the client apparatus 12. The information on the OS of the client apparatus 12 is information indicating the type and version of the OS installed on the client apparatus 12, for example.
The download request information may further contain the type of a language used in the device corresponding to the device name (a page description language (PDL) such as Refined Printing Command Stream (RPCS) and Post Script (PS), for example).
When a plurality of printers 14 are connected to the first network 20, the download request information contains the device names of the respective printers 14. In this case, the download request information contains, for each of the client apparatuses 12, the client information 28B (the IP address, for example), a plurality of device names (the specifying information), the types of the languages corresponding to the respective device names, and the information on the OS of the client apparatus 12, for example.
FIG. 4 is a diagram of an example of a data configuration of the download request information. As illustrated in FIG. 4, the download request information acquired by the information processing apparatus 16 from the client apparatus 12 contains the IP address of the client apparatus 12, the device name (the specifying information), and the type of the language used in the device of the device name. FIG. 4 omits the description of the information on the OS.
Referring back to FIG. 3, the Web API 24B stores the download request information received from the client apparatus 12 in the storage unit 28. With this operation, the client information 28B is stored in the storage unit 28. The storage unit 28 stores therein the download request information until a download completion notification of the control program is transmitted to the client apparatus 12 specified by the client information 28B contained in the download request information.
The switching unit 24C switches the connection from the first network 20 to the second network 22. The receiver 24A then downloads the control program from the external apparatus 18 via the second network 22.
The Web API 24B transmits the control program downloaded by the receiver 24A to the client apparatus 12.
Specifically, the switching unit 24C switches the connection from the second network 22 to the first network 20. The Web API 24B then transmits the control program to the client apparatus 12 serving as the transmission source of the download request information. The Web API 24B reads the client information 28B (the IP address) of the client apparatus 12 contained in the download request information stored in the storage unit 28 and thereby specifies the client apparatus 12 serving as the transmission source of the download request information.
The Web API 24B may transmit the control program to all the client apparatuses 12 connected to the first network 20.
FIG. 5 is a functional block diagram of the client apparatus 12.
The client apparatus 12 includes the client application 30, a storage unit 34, and a web browser 35.
The client application 30 is an application program for acquiring the control program from the information processing apparatus 16. By executing the client application installer 28A, the client application 30 is installed on the client apparatus 12.
The client application 30 includes a searching unit 30A, a Web API 30B, an installing unit 30C, a transmitting unit 30D, and a display controlling unit 30E.
In the present embodiment, the processor of the client apparatus 12 executes the client application 30, whereby the searching unit 30A, the Web API 30B, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E are loaded onto a main memory and are generated on the main memory.
The web browser 35 receives identification information (an IP address, for example) of the information processing apparatus 16 to be connected when the control program is acquired from the operating unit 62 of the client apparatus 12. The user operates the operating unit 62 to input the identification information of the information processing apparatus 16 via the web browser 35. The web browser 35 receives the identification information of the information processing apparatus 16 input by the operation on the operating unit 62.
The web browser 35 accesses the information processing apparatus 16 identified by the received identification information and downloads the client application installer 28A.
Upon reception of the identification information of the information processing apparatus 16 from the operating unit 62, the web browser 35 may display a display screen prepared by the server application 24 in the information processing apparatus 16 on the display 60 of the client apparatus 12. This display screen contains a button image indicating “start to install client application,” for example. The web browser 35 may download the client application installer 28A from the information processing apparatus 16 when the display area of the button image is selected by the user. Furthermore, the web browser 35 may execute the client application installer 28A when receiving an instruction to execute the client application installer 28A through an operation instruction on the operating unit 62 by the user.
In the present embodiment, the processor of the client apparatus 12 executes the client application installer 28A downloaded from the information processing apparatus 16 and thereby installs the client application 30 on the client apparatus 12. The processor of the client apparatus 12 executes the client application 30, whereby the searching unit 30A, the Web API 30B, and the installing unit 30C are loaded onto the main memory and are generated on the main memory.
The client application 30 may have already been installed on the client apparatus 12. In this case, the web browser 35 may display, on the display 60, a list of pieces of identification information (IP addresses, for example) of the information processing apparatuses 16 to which the respective installed client applications 30 are connected. The web browser 35 may receive the identification information of the information processing apparatus 16 to be connected selected through an operation instruction on the operating unit 62 by the user from the displayed list of the pieces of identification information. The processor of the client apparatus 12 may execute the installed client application 30 corresponding to the information processing apparatus 16 to be connected selected by the user.
The searching unit 30A searches for all the devices (the printers 14 in the present embodiment) connected to the first network 20. The searching unit 30A searches the first network 20 and thereby obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the printers 14. The searching unit 30A may be included in the server application 24 in the information processing apparatus 16.
The Web API 30B is a system that uses functions of another computer program from an external computer program using HTTP. In the present embodiment, the server application 24 in the information processing apparatus 16 makes use of the Web API 30B to use functions of the client application 30 in the client apparatus 12.
The transmitting unit 30D transmits the download request information to the information processing apparatus 16 identified by the identification information received by the web browser 35. As described above, the download request information contains the client information 28B (the IP address, for example) of the client apparatus 12, the device names of the respective printers 14 searched for by the searching unit 30A, and the information on the OS of the client apparatus 12. As described above, the download request information may further contain the types of the languages used in the devices of the device names contained in the download request information.
The display controlling unit 30E may display a list of the device names of the respective printers 14 searched for by the searching unit 30A on the display 60 and cause the user to select a device that uses the control program to be acquired. In this case, the web browser 35 displays the list of the device names of the printers 14 searched for by the searching unit 30A on the display 60. One or a plurality of device names are selected through an operation on the operating unit 62 by the user. The web browser 35 then receives the device name selected by the user from the operating unit 62. The Web API 30B may transmit the download request information containing the received device name to the information processing apparatus 16.
The Web API 30B receives the control program received by the information processing apparatus 16 from the external apparatus 18.
Specifically, the Web API 30B receives a download completion notification from the information processing apparatus 16. Upon reception of the download completion notification, the Web API 30B receives (that is, downloads) the control program from the information processing apparatus 16.
The installing unit 30C installs the control program received by the Web API 30B on the client apparatus 12. When the control program received by the Web API 30B is a printer driver, for example, the installing unit 30C installs the received printer driver on the client apparatus 12. At the time of installation, the installing unit 30C may set the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30A.
Consequently, the control program of the latest version (a printer driver of the latest version, for example) is installed on the client apparatus 12. If the version of the control program that has already been installed is the same as the version of the control program of the corresponding device acquired from the information processing apparatus 16 or when the installed one is the latest version, the client apparatus 12 is not required to perform installation.
Next, a description will be given for a procedure of information processing performed by the information processing system 10. FIG. 6 is a sequence diagram of the procedure of the information processing executed by the information processing system 10.
First, the switching unit 24C of the information processing apparatus 16 switches connection from the second network 22 to the first network 20 (SEQ 100).
The switching unit 24C is required to determine which network is the first network 20 and which network is the second network 22 among a plurality of networks and to perform switching. For this determination, the following method may be used, for example.
The switching unit 24C may determine the first network 20 by the following method of determination, for example.
Specifically, the server application 24 stores therein information indicating which network is the first network 20 in advance. The server application 24 stores therein information (an SSID, a password, or the like) on an access point for connecting to the first network 20, for example. The switching unit 24C may determine the first network 20 using this information.
Alternatively, the server application 24 may display a display screen containing a list of networks as candidates of connection (that are receiving radio waves) on the display 60. In this case, the switching unit 24C may determine a network selected through an operation instruction on the operating unit 62 by the user to be the first network 20.
The switching unit 24C may determine the second network 22 by the following method.
The server application 24 stores therein information indicating which network is the second network 22 in advance, for example. The server application 24 stores therein information on mobile networks (cellular phone lines) such as 3G and LTE or access points of WiFi that can connect to the Internet as information indicating the second network 22 in advance, for example. The switching unit 24C may determine the second network 22 using this information.
Before switching the connection from the second network 22 to the first network 20 at SEQ 100, the switching unit 24C may store therein information on the network connected before the switching as the information on the second network 22.
Next, the web browser 35 of the client apparatus 12 receives the identification information of the information processing apparatus 16 to be connected when the control program is acquired from the operating unit 62 (SEQ 102). Next, the web browser 35 accesses the information processing apparatus 16 identified by the identification information received at SEQ 102 and downloads the client application installer 28A corresponding to the information processing apparatus 16 (SEQ 104 and SEQ 106).
The processor of the client apparatus 12 executes the client application installer 28A downloaded from the information processing apparatus 16 and thereby installs the client application 30 on the client apparatus 12. The processor of the client apparatus 12 executes the client application 30, whereby the searching unit 30A, the Web API 30B, and the installing unit 30C are loaded onto the main memory and are generated on the main memory.
Next, the searching unit 30A of the client apparatus 12 searches for all the devices (the printers 14 in the present embodiment) connected to the first network 20 (SEQ 108 and SEQ 110). With this search, the searching unit 30A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14.
Next, the transmitting unit 30D of the client apparatus 12 transmits the download request information of the control program containing the device names (the specifying information) retrieved at SEQ 108 and SEQ 110 to the information processing apparatus 16 identified by the identification information received by the web browser 35 at SEQ 102 (SEQ 112). As described above, the download request information transmitted at SEQ 112 contains the client information 28B (the IP address, for example) of the client apparatus 12, the device names of the respective printers 14 searched for by the searching unit 30A, and the information on the OS of the client apparatus 12.
The Web API 24B of the information processing apparatus 16 stores the download request information acquired from the client apparatus 12 in the storage unit 28. The specifying unit 24D of the information processing apparatus 16 specifies the printer 14 that can be controlled by the client apparatus 12 from the acquired download request information (SEQ 113). Next, the switching unit 24C switches the connection from the first network 20 to the second network 22 (SEQ 114). The determination of the first network 20 and the second network 22 by the switching unit 24C may be performed similarly to SEQ 100 described above.
Next, the Web API 24B of the information processing apparatus 16 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 12 contained in the download request information received at SEQ 112 (SEQ 116 and SEQ 118). The receiver 24A stores the acquired control program in association with the corresponding download request information in the storage unit 28.
Next, the switching unit 24C switches the connection from the second network 22 to the first network 20 (SEQ 120). The determination of the first network 20 and the second network 22 by the switching unit 24C may be performed similarly to SEQ 100 described above. When the connection is switches at SEQ 114, the server application 24 may display a display screen (a user interface) that presents which network is connected to the user on the display 60.
Next, the Web API 24B of the information processing apparatus 16 transmits the download completion notification of the control program to the client apparatus 12 serving as the transmission source of the download request information received at SEQ 112 (SEQ 122).
Upon reception of the download completion notification from the information processing apparatus 16, the Web API 30B of the client apparatus 12 receives (that is, downloads) the control program from the information processing apparatus 16 (SEQ 124 and SEQ 126).
Next, the installing unit 30C of the client apparatus 12 installs the control program downloaded by the Web API 30B at SEQ 124 and SEQ 126 on the client apparatus 12 (SEQ 128). At the time of installation, the installing unit 30C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30A. The present sequence then ends.
As described above, the information processing apparatus 16 of the present embodiment connects to at least one client apparatus 12 via the first network 20 and can connect to the external apparatus 18 via the second network 22. The information processing apparatus 16 includes the Web API 24B (the first transmitting unit or receiving unit), the specifying unit 24D (the specifying unit), the switching unit 24C (the first switching unit or the second switching unit), and the receiver 24A (the second receiving unit).
The Web API 24B (the first receiving unit) receives the client information 28B related to the client apparatus 12 from the client apparatus 12 via the first network 20. The specifying unit 24D specifies the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12. The switching unit 24C (the first switching unit) switches the connection from the first network 20 to the second network 22. The receiver 24A (the second receiving unit), based on the client information 28B and the printer 14 (the device) specified by the specifying unit 24D (the specifying unit), receives the control program for controlling the printer 14 (the device) from the external apparatus 18 via the second network 22. The switching unit 24C (the second switching unit) switches the connection from the second network 22 to the first network 20. The Web API 24B (the transmitting unit) transmits the control program received by the Web API 24B (the second receiving unit) to the client apparatus 12 via the first network 20.
Thus, in the information processing apparatus 16 of the present embodiment, an environment in which the client apparatus 12 is limited in terms of connection to the second network 22 is maintained, and the connection of the information processing apparatus 16 is switched between the first network 20 and the second network 22. When the connection is switched to the second network 22, the information processing apparatus 16 receives the control program from the external apparatus 18 via the second network 22. When the connection is switched from the second network 22 to the first network 20, the information processing apparatus 16 transmits the control program to the client apparatus 12 via the first network 20.
Consequently, the environment in which the client apparatus 12 cannot access the second network 22 (the external network) can be maintained. In addition, work when the control program is installed on the client apparatus 12 by the manager of the client apparatus 12 or the first network 20 can be reduced.
Consequently, the information processing apparatus 16 of the present embodiment can maintain the environment in which the connection from the client apparatus 12 to the second network 22 (the external network) is controlled (that is, the connection is limited) and reduce loads on the manager side when the control program is installed on the client apparatus 12.
The Web API 24B (the first receiving unit) further receives the specifying information of the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12 from the client apparatus 12. The specifying unit 24D (the specifying unit) specifies the printer 14 (the device) specified by the specifying information to be the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 12.
The client apparatus 12 is connected to various printers 14 depending on conditions. Given this situation, the acquired control program differs by the client apparatus 12. The information processing apparatus 16 of the present embodiment has the above configuration, whereby the control program suitable for the client apparatus 12 is automatically installed without requiring the manager to manually install the control program such as a driver on the client apparatus 12. Consequently, in addition to the above effect, loads on the manager side can be further reduced.
The installing unit 30C (the installing unit) of the client apparatus 12 installs the control program received from the information processing apparatus 16 on the client apparatus 12.
In the information processing system 10 according to the present embodiment, the inputting of the identification information of the information processing apparatus 16 is the only operation by the user of the client apparatus 12 (refer to SEQ 102 in FIG. 6). Consequently, loads on the user (including the manager) can be reduced.
Consequently, the information processing apparatus 16 according to the present embodiment can maintain the environment in which the client apparatus 12 is limited in terms of connection to the second network 22 (the external network) and reduce loads on the manager side when the control program is installed on the client apparatus 12.
Preferably, the information processing apparatus 16 according to the present embodiment is portable. The device is an image forming apparatus such as the printer 14, for example. The control program is the printer driver, for example.
The information processing apparatus 16 such as a mobile device that can connect to networks, in an environment in which a plurality of Wifi and a cellular phone line such as 4G are mixed, basically connects to only either one of the networks to perform communication. In other words, with Wifi connection as the first network 20 and with the cellular phone line such as 4G as the second network 22, when the information processing apparatus 16 is connected to the second network 22, the client application 30 in the client apparatus 12 connected to only the first network 20 cannot connect to the server application 24 in the information processing apparatus 16. In this case, the switching unit 24C of the client apparatus 12 switches the connection from the second network 22 to the first network 20, whereby the client application 30 in the client apparatus 12 can connect to the server application 24 in the information processing apparatus 16.
To which network the information processing apparatus 16 connects is determined by the setting (default network setting or the setting of network connection priority) of the OS of the information processing apparatus 16. In the present embodiment, the switching unit 24C of the information processing apparatus 16 can switch the connection using a function of the OS.
Second Embodiment
Next, the following describes an information processing system according to a second embodiment.
FIG. 1 is a diagram of an example of an information processing system 11 according to the present embodiment.
The information processing system 11 includes a client apparatus 13 and an information processing apparatus 17.
The information processing system 11 may include a plurality of client apparatuses 13. The information processing system 11 may include a plurality of information processing apparatuses 17. The client apparatuses 13 are connected to devices such as the printer 14 via the first network 20.
The first network 20 and the printer 14 are the same as or similar to those according to the first embodiment. In the present embodiment, a description will be given for a case in which the device connected to the first network 20 is the printer 14 as an example.
The client apparatuses 13 are not connected to the second network 22. The external apparatus 18 is connected to the second network 22. The external apparatus 18 and the second network 22 are the same as or similar to those according to the first embodiment. In other words, the client apparatus 13 can connect to the devices connected to the first network 20 and the other client apparatus 13. However, the client apparatuses 13 cannot connect to the second network 22.
The information processing apparatus 17 is connected to the client apparatuses 13 via the first network 20 and is connected to the external apparatus 18 via the second network 22. In other words, the information processing apparatus 17 can connect to both the client apparatuses 13 and the second network 22. However, the information processing apparatus 17 cannot connect to both the client apparatuses 13 and the second network 22 simultaneously.
Next, the following describes a hardware configuration of the client apparatus 13, the information processing apparatus 17, and the external apparatus 18 according to the present embodiment.
FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 13, the information processing apparatus 17, and the external apparatus 18 according to the present embodiment.
The client apparatus 13, the information processing apparatus 17, and the external apparatus 18 according to the present embodiment each include the CPU 50, the RAM 52, the ROM 54, the HDD 56, and the I/F 58. The CPU 50, the RAM 52, the ROM 54, the HDD 56, and the I/F 58 are connected to each other via the bus 64. The display 60 and the operating unit 62 are connected to the I/F 58. The CPU 50, the RAM 52, the ROM 54, the HDD 56, the I/F 58, the bus 64, the display 60, and the operating unit 62 are the same as or similar to those according to the first embodiment.
FIG. 7 is a functional block diagram of the information processing apparatus 17.
The information processing apparatus 17 includes a server application 25 and the storage unit 28. The storage unit 28 is the same as or similar to that according to the first embodiment.
The server application 25 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 13. The server application 25 is installed on the information processing apparatus 17 in advance.
The server application 25 includes the receiver 24A (the second receiving unit), a Web API 25B (the first receiving unit), the switching unit 24C (the first switching unit or the second switching unit), a specifying unit 25D (the specifying unit), and a transmitting unit 25E (the transmitting unit).
In the present embodiment, the processor of the information processing apparatus 17 executes the server application 25, whereby the receiver 24A, the Web API 25B, the switching unit 24C, and the specifying unit 25D are loaded onto a main memory and are generated on the main memory, for example.
The switching unit 24C and the receiver 24A are the same as or similar to those according to the first embodiment.
The specifying unit 25D specifies the printer 14 (the device) that is connected to the first network 20 and can be controlled by the client apparatus 13. This specification of the printer 14 (the device) is the same as or similar to that by the specifying unit 24D according to the first embodiment.
In the present embodiment, the specifying unit 25D further specifies the client apparatus 13 on which a client application 31 (refer to FIG. 8) for acquiring the control program from the information processing apparatus 17 has been installed among the client apparatuses 13. The client application 31 is an application program for causing the client apparatus 13 to acquire the control program from the information processing apparatus 17 similarly to the client application 30 according to the first embodiment.
The specifying unit 25D calls a Web API 31B (refer to FIG. 8) for the client application 31 to the client apparatus 13 connected to a network the subnet of which is the same (the first network 20), for example. When the Web API 31B is successfully called, the specifying unit 25D determines the client apparatus 13 to be the client apparatus 13 on which the client application 31 has been installed. Success in the calling of the Web API 31B (refer to FIG. 8) for the client application 31 means a state in which a response is returned from the client apparatus 13 to a request from the server application 25.
When the information processing system 11 includes a plurality of information processing apparatuses 17, the client application 31 is present for each of the information processing apparatuses 17. In other words, the client application 31 for acquiring the control program from the external apparatus 18 is present for each of the information processing apparatuses 17. Given this situation, each of the information processing apparatuses 17 stores the client application installer 28A of the client application 31 for each of the information processing apparatuses 17 in the storage unit 28 in advance.
Consequently, the specifying unit 25D specifies the client apparatus 13 on which the client application 31 for the information processing apparatus 17 has been installed.
The Web API 25B is the same as or similar to the Web API 24B according to the first embodiment.
The transmitting unit 25E transmits identification information (an IP address, for example) of the information processing apparatus 17 and a transmission request of download request information of the control program to the client apparatus 13 specified by the specifying unit 25D. The download request information is the same as or similar to that according to the first embodiment.
Consequently, in the present embodiment, the client apparatus 13 can transmit the download request information to the information processing apparatus 17 identified by the identification information received from the information processing apparatus 17 without receiving any operation by the user with respect to the identification information of the information processing apparatus 17.
FIG. 8 is a functional block diagram of the client apparatus 13 according to the present embodiment.
The client apparatus 13 includes the client application 31 and the storage unit 34.
The client application 31 is an application program for acquiring the control program from the information processing apparatus 17 similarly to the client application 30 according to the first embodiment. By executing the client application installer 28A, the client application 31 is installed on the client apparatus 13.
The client application 31 includes the searching unit 30A, the Web API 31B, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E.
In the present embodiment, the processor of the client apparatus 13 executes the client application 31, whereby the searching unit 30A, the Web API 31B, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E are loaded onto a main memory and are generated on the main memory. The searching unit 30A, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E are the same as or similar to those according to the first embodiment.
The Web API 31B receives the identification information of the information processing apparatus 17 and the transmission request of the download request information of the control program from the information processing apparatus 17. In other words, in the first embodiment, the web browser 35 of the client apparatus 12 receives the identification information of the information processing apparatus 16 from the operating unit 62 (refer to FIG. 5). In contrast, in the present embodiment, in the client application 31, the Web API 31B receives the identification information of the information processing apparatus 17 from the information processing apparatus 17.
When receiving the identification information of the information processing apparatus 17 and the transmission request, the transmitting unit 30D transmits the download request information to the information processing apparatus 17 identified by the identification information.
Consequently, in the present embodiment, the user who operates the client apparatus 13 is not required to operate the operating unit 62 of the client apparatus 13 for the purpose of inputting the identification information of the information processing apparatus 17 to be connected when the control program is acquired.
Next, the following describes a procedure of information processing executed by the information processing system 11. FIG. 9 is a sequence diagram of the procedure of the information processing executed by the information processing system 11.
First, the switching unit 24C of the information processing apparatus 17 switches connection from the second network 22 to the first network 20 (SEQ 200). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the specifying unit 25D of the information processing apparatus 17 specifies the client apparatus 13 on which the client application 31 corresponding to the information processing apparatus 17 has been installed among the client apparatuses 13 connected to the first network 20 (SEQ 202).
Next, the transmitting unit 25E of the information processing apparatus 17 transmits the identification information (the IP address, for example) of the information processing apparatus 17 and the transmission request of the download request information of the control program to the client apparatus 13 specified at SEQ 202 (SEQ 204).
The information processing system 11 executes the processing of SEQ 206 to SEQ 226 similarly to SEQ 108 to SEQ 128 (refer to FIG. 6) in the information processing system 10 according to the first embodiment.
Specifically, the searching unit 30A of the client apparatus 13 searches for all the devices (the printers 14) connected to the first network 20 (SEQ 206 and SEQ 208). With this search, the searching unit 30A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14.
Next, the transmitting unit 30D of the client apparatus 13 transmits the download request information of the control program containing the device names (the specifying information) searched at SEQ 206 and SEQ 208 to the information processing apparatus 17 identified by the identification information acquired from the information processing apparatus 17 at SEQ 204 (SEQ 210). As described above, the download request information transmitted at SEQ 210 contains the client information 28B (the IP address, for example) of the client apparatus 13, the device names of the respective printers 14 searched for by the searching unit 30A, and the information on the OS of the client apparatus 13.
The Web API 25B of the information processing apparatus 17 stores the download request information acquired from the client apparatus 13 in the storage unit 28. The specifying unit 25D of the information processing apparatus 17 specifies the printer 14 that can be controlled by the client apparatus 13 from the acquired download request information (SEQ 211). Next, the switching unit 24C switches the connection from the first network 20 to the second network 22 (SEQ 212). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the Web API 25B of the information processing apparatus 17 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 13 contained in the download request information received at SEQ 210 (SEQ 214 and SEQ 216). The receiver 24A stores the acquired control program in association with the corresponding download request information in the storage unit 28.
Next, the switching unit 24C switches the connection from the second network 22 to the first network 20 (SEQ 218). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the Web API 25B of the information processing apparatus 17 transmits a download completion notification of the control program to the client apparatus 13 as the transmission source of the download request information received at SEQ 210 (SEQ 220).
Upon reception of the download completion notification from the information processing apparatus 17, the Web API 31B of the client apparatus 13 receives (that is, downloads) the control program from the information processing apparatus 17 (SEQ 222 and SEQ 224).
Next, the installing unit 30C of the client apparatus 13 installs the control program downloaded by the Web API 31B at SEQ 222 and SEQ 224 on the client apparatus 13 (SEQ 226). At the time of installation, the installing unit 30C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30A. The present sequence then ends.
As described above, in the information processing apparatus 17 according to the present embodiment, the specifying unit 25D (the specifying unit) further specifies the client apparatus 13 on which the client application 31 for acquiring the control program from the information processing apparatus 17 has been installed among the client apparatuses 13. The transmitting unit 25E (the transmitting unit) transmits the identification information of the information processing apparatus 17 and the transmission request of the download request information of the control program to the specified client apparatus 13.
Consequently, the client apparatus 13 can transmit the download request information to the information processing apparatus 17 identified by the identification information received from the information processing apparatus 17 without any operation instruction by the user.
In other words, in the information processing system 11 according to the present embodiment, the user (including also the manager) who operates the client apparatus 13 is not required to operate the operating unit 62 of the client apparatus 13 for the purpose of inputting the identification information of the information processing apparatus 17 to be connected when the control program is acquired.
Consequently, the information processing apparatus 17 according to the present embodiment can further reduce loads on the manager side when the control program is installed on the client apparatus 13 in addition to the effects according to the first embodiment.
Third Embodiment
In the present embodiment, the client application of the latest version can be used by the client apparatus 15.
FIG. 1 is a diagram of an example of an information processing system 9 according to the present embodiment.
The information processing system 9 includes a client apparatus 15 and an information processing apparatus 19.
The information processing system 9 may include a plurality of client apparatuses 15. The information processing system 9 may include a plurality of information processing apparatuses 19.
The client apparatuses 15 are connected to devices such as the printer 14 via the first network 20. The first network 20 and the printer 14 are the same as or similar to those according to the first embodiment.
The client apparatuses 15 are not connected to the second network 22. The external apparatus 18 is connected to the second network 22. The external apparatus 18 and the second network 22 are the same as or similar to those according to the first embodiment. In other words, the client apparatus 15 can connect to the devices connected to the first network 20 and the other client apparatus 15. However, the client apparatuses 15 cannot connect to the second network 22.
The information processing apparatus 19 is connected to the client apparatuses 15 via the first network 20 and is connected to the external apparatus 18 via the second network 22. In other words, the information processing apparatus 19 can connect to both the client apparatuses 15 and the second network 22. However, the information processing apparatus 19 cannot connect to both the client apparatuses 15 and the second network 22 simultaneously.
Next, the following describes a hardware configuration of the client apparatus 15, the information processing apparatus 19, and the external apparatus 18 according to the present embodiment.
FIG. 2 is a diagram of an example of the hardware configuration of the client apparatus 15, the information processing apparatus 19, and the external apparatus 18 according to the present embodiment.
The client apparatus 15, the information processing apparatus 19, and the external apparatus 18 according to the present embodiment each include the CPU 50, the RAM 52, the ROM 54, the HDD 56, and the I/F 58. The CPU 50, the RAM 52, the ROM 54, the HDD 56, and the I/F 58 are connected to each other via the bus 64. The display 60 and the operating unit 62 are connected to the I/F 58. The CPU 50, the RAM 52, the ROM 54, the HDD 56, the I/F 58, the bus 64, the display 60, and the operating unit 62 are the same as or similar to those according to the first embodiment.
FIG. 10 is a functional block diagram of the information processing apparatus 19.
The information processing apparatus 19 includes a server application 27 and the storage unit 28. The storage unit 28 is the same as or similar to that according to the first embodiment.
The server application 27 is an application program for acquiring the control program from the external apparatus 18 and transmitting the control program to the client apparatus 15. The server application 27 is installed on the information processing apparatus 19 in advance.
The server application 27 includes the receiver 24A (the second receiving unit), a Web API 27B (the first receiving unit), the switching unit 24C (the first switching unit or the second switching unit), the specifying unit 25D (the specifying unit), the transmitting unit 25E (the transmitting unit), an updating unit 27E, and an acquiring unit 27F.
In the present embodiment, the processor of the information processing apparatus 19 executes the server application 27, whereby the receiver 24A, the Web API 27B, the switching unit 24C, the specifying unit 25D, the transmitting unit 25E, the updating unit 27E, and the acquiring unit 27F are loaded onto a main memory and are generated on the main memory, for example.
The switching unit 24C and the receiver 24A are the same as or similar to those according to the first embodiment. The specifying unit 25D and the transmitting unit 25E are the same as or similar to those according to the second embodiment.
The acquiring unit 27F acquires a client application 36 of the latest version (refer to FIG. 11) from the external apparatus 18. The client application 36 is an application program for causing the client apparatus 15 to acquire the control program from the information processing apparatuses 19 similarly to the client application 30
It is assumed that the external apparatus 18 stores therein the client application 36 of the latest version. The acquiring unit 27F of the information processing apparatuses 19 acquires the version of the client application 36 stored in the external apparatus 18 from the external apparatus 18 via the second network 22
The acquiring unit 27F reads the version of the client application 36 contained in the client application installer 28A stored in the storage unit 28 of the information processing apparatuses 19. If the version acquired from the external apparatus 18 is newer than the version of the client application 36 contained in the client application installer 28A stored in the storage unit 28, the acquiring unit 27F acquires the client application 36 of the latest version from the external apparatus 18.
The updating unit 27E updates the client application 36 stored in the storage unit 28 to the client application 36 of the latest version acquired by the acquiring unit 27F.
In the present embodiment, the acquiring unit 27F downloads the client application installer 28A of the client application 36 of the latest version from the external apparatus 18. The updating unit 27E updates the client application installer 28A stored in the storage unit 28 to the client application installer 28A of the client application 36 of the latest version.
The Web API 27B is the same as or similar to the Web API 25B according to the second embodiment. In the present embodiment, the Web API 27B (the first receiving unit) further receives from the client apparatus 15 specified by the specifying unit 25D (the specifying unit) via the first network 20 the version of the client application 36 installed on the client apparatus 15. If the version received by the Web API 27B (the first receiving unit) is older than the latest version acquired by the acquiring unit 27F, the transmitting unit 25E (the transmitting unit) transmits, to the client apparatus 15 via the first network 20, update instruction information that instructs updating to the client application 36 of the latest version.
Next, the following describes functions of the client apparatus 15. FIG. 11 is a functional block diagram of the client apparatus 15 according to the present embodiment.
The client apparatus 15 includes the client application 36 and the storage unit 34.
The client application 36 is an application program for acquiring the control program from the information processing apparatus 19 similarly to the client application 30 according to the first embodiment. By executing the client application installer 28A, the client application 36 is installed on the client apparatus 15.
The client application 36 includes the searching unit 30A, a Web API 35B, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E.
In the present embodiment, the processor of the client apparatus 15 executes the client application 36, whereby the searching unit 30A, the Web API 35B, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E are loaded onto a main memory and are generated on the main memory. The searching unit 30A, the installing unit 30C, the transmitting unit 30D, and the display controlling unit 30E are the same as or similar to those according to the first embodiment.
The Web API 35B is the same as or similar to the Web API 31B according to the second embodiment. In the present embodiment, the Web API 35B further receives the update instruction information that instructs updating to the client application 36 of the latest version from the information processing apparatus 19. The Web API 35B then downloads the client application installer 28A of the latest client application 36 from the information processing apparatus 19 and executes the client application installer 28A. With this operation, the client application 36 of the client apparatus 15 is updated to the latest version.
Next, the following describes a procedure of information processing executed by the information processing system 9. FIG. 12 is a sequence diagram of the procedure of the information processing executed by the information processing system 9.
First, the switching unit 24C of the information processing apparatus 19 switches connection from the first network 20 to the second network 22 (SEQ 300). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the acquiring unit 27F of the information processing apparatus 19 accesses the external apparatus 18 and acquires the version of the client application 36 stored in the external apparatus 18 (SEQ 302 and SEQ 304). The acquiring unit 27F of the information processing apparatus 19 compares the version of the client application 36 contained in the client application installer 28A stored in the storage unit 28 of the information processing apparatus 19 with the version acquired from the external apparatus 18 (SEQ 306).
If the version acquired from the external apparatus 18 is newer than the version of the client application 36 contained in the client application installer 28A stored in the storage unit 28, the acquiring unit 27F of the information processing apparatus 19 acquires the client application 36 of the latest version from the external apparatus 18 (SEQ 308 and SEQ 310). In the present embodiment, as described above, the acquiring unit 27F downloads the client application installer 28A of the client application 36 of the latest version from the external apparatus 18.
The updating unit 27E of the information processing apparatus 19 updates the client application installer 28A stored in the storage unit 28 to the client application installer 28A of the client application 36 of the latest version (SEQ 312).
Next, the switching unit 24C of the information processing apparatus 19 switches the connection from the second network 22 to the first network 20 (SEQ 314). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the specifying unit 25D of the information processing apparatus 19 specifies the client apparatus 15 on which the client application 36 corresponding to the information processing apparatus 19 has been installed among the client apparatuses 15 connected to the first network 20 (SEQ 316).
Next, the Web API 27B of the information processing apparatus 19 receives from the client apparatus 15 specified at SEQ 316 the version of the client application 36 installed on the client apparatus 15 (SEQ 318 and SEQ 320). The Web API 27B compares the version received at SEQ 320 with the version of the client application 36 of the client application installer 28A stored in the storage unit (SEQ 322).
If the version of the client application 36 installed on the client apparatus 15 is older than the version of the client application 36 of the client application installer 28A in the storage unit 28, the Web API 27B transmits to the client apparatus 15 the update instruction information that instructs updating to the client application 36 of the latest version (SEQ 324).
The Web API 35B of the client apparatus 15 downloads the client application installer 28A of the client application 36 of the latest version from the information processing apparatus 19 (SEQ 326 and SEQ 328). The Web API 35B then executes the downloaded client application installer 28A. With this operation, the client application 36 of the client apparatus 15 is updated to the latest version (SEQ 330).
The information processing system 9 executes the processing of SEQ 332 to SEQ 356 similarly to SEQ 204 to SEQ 226 (refer to FIG. 9) according to the second embodiment.
In other words, the transmitting unit 25E of the information processing apparatus 19 transmits identification information (an IP address, for example) of the information processing apparatus 19 and a transmission request of download request information of the control program to the client apparatus 15 specified at SEQ 316 (SEQ 332).
The searching unit 30A of the client apparatus 15 then searches for all the devices (the printers 14) connected to the first network 20 (SEQ 334 and SEQ 336). With this search, the searching unit 30A obtains the device names of all the respective printers 14 connected to the first network 20 and the IP addresses of the respective printers 14.
Next, the transmitting unit 30D of the client apparatus 15 transmits the download request information of the control program containing the device names (the specifying information) searched at SEQ 334 and SEQ 336 to the information processing apparatus 19 identified by the identification information acquired from the information processing apparatus 19 at SEQ 332 (SEQ 338). As described above, the download request information transmitted at SEQ 338 contains the client information 28B (the IP address, for example) of the client apparatus 15, the device names of the respective printers 14 searched for by the searching unit 30A, and the information on the OS of the client apparatus 15.
The Web API 27B of the information processing apparatus 19 stores the download request information acquired from the client apparatus 15 in the storage unit 28. The specifying unit 25D of the information processing apparatus 19 specifies the printer 14 that can be controlled by the client apparatus 15 from the acquired download request information (SEQ 340). Next, the switching unit 24C switches the connection from the first network 20 to the second network 22 (SEQ 342). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the Web API 27B of the information processing apparatus 19 acquires the control program (the printer driver, for example) for controlling the devices (the printers 14) corresponding to the respective device names from the external apparatus 18 connected to the second network 22 based on the device names and the information on the OS of the client apparatus 15 contained in the download request information received at SEQ 338 (SEQ 344 and SEQ 346). The receiver 24A stores the acquired control program in association with the corresponding download request information in the storage unit 28.
Next, the switching unit 24C switches the connection from the second network 22 to the first network 20 (SEQ 348). The determination of the first network 20 and the second network 22 by the switching unit 24C is performed similarly to SEQ 100 described above (refer to FIG. 6).
Next, the Web API 27B of the information processing apparatus 19 transmits a download completion notification of the control program to the client apparatus 15 as the transmission source of the download request information received at SEQ 338 (SEQ 350).
Upon reception of the download completion notification from the information processing apparatus 19, the Web API 35B of the client apparatus 15 receives (that is, downloads) the control program from the information processing apparatus 19 (SEQ 352 and SEQ 354).
Next, the installing unit 30C of the client apparatus 15 installs the control program downloaded by the Web API 35B at SEQ 352 and SEQ 354 on the client apparatus 15 (SEQ 356). At the time of installation, the installing unit 30C sets the printer driver using the IP addresses of the respective printers 14 searched for by the searching unit 30A (SEQ 358). The present sequence then ends.
As describes above, the information processing apparatus 19 according to the present embodiment further includes the acquiring unit 27F (an acquiring unit) and the updating unit 27E (an updating unit). The acquiring unit 27F acquires the client application 36 of the latest version from the external apparatus 18. The updating unit 27E updates the installed client application 36 to the acquired client application 36 of the latest version.
Consequently, the information processing apparatus 19 according to the present embodiment can easily update the client application 36 to the client application 36 of the latest version in addition to the effects according to the first embodiment and the second embodiment.
The Web API 27B (the first receiving unit) of the information processing apparatus 19 further receives from the client apparatus 15 specified by the specifying unit 25D (the specifying unit) via the first network 20 the version of the client application 36 installed on the client apparatus 15. If the version received by the Web API 27B (the first receiving unit) is older than the latest version acquired by the acquiring unit 27F, the Web API 27B (the transmitting unit) transmits to the client apparatus 15 via the first network 20 the update instruction information that instructs updating to the client application 36 of the latest version.
Consequently, the information processing apparatus 19 according to the present embodiment can update the client application 36 of the client apparatus 15 to the latest version more easily in addition to the above effect.
Computer program for executing the various kinds of processing executed by the client apparatuses 12, 13, and 15, the information processing apparatuses 16, 17, and 19, and the external apparatus 18 according to the embodiments are embedded and provided in a ROM, for example.
The computer programs for executing the various kinds of processing executed by the client apparatuses 12, 13, and 15 the information processing apparatuses 16 and 17, and the external apparatus 18 according to the embodiments may be recorded and provided in a computer-readable recording medium such as a compact disc read only memory (CD-ROM), a flexible disk (FD), a compact disc recordable (CD-R), and a digital versatile disc (DVD), as a file in format installable on or format executable by these apparatuses.
The computer programs for executing the various kinds of processing executed by the client apparatuses 12, 13, and 15 the information processing apparatuses 16 and 17, and the external apparatus 18 according to the embodiments may be stored in a computer connected to a network such as the Internet and provided by being downloaded via the network. The computer programs for executing the various kinds of processing executed by the client apparatuses 12, 13, and 15 the information processing apparatuses 16 and 17, and the external apparatus 18 according to the embodiments may be provided or distributed via a network such as the Internet.
The computer programs for executing the various kinds of processing executed by the client apparatuses 12, 13, and 15 the information processing apparatuses 16 and 17, and the external apparatus 18 according to the embodiments have a module structure containing the above units. As actual hardware, a CPU reads each of the programs from a storage medium such as a ROM and executes it, whereby the units are loaded onto the main memory and are generated on the main memory.
The present invention produces an advantageous effect of making it possible to maintain an environment in which connection from client apparatuses to external networks is controlled and to reduce loads on the manager side when the control program is installed on the client apparatuses.
Although the invention has been described with respect to specific embodiments for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

Claims (9)

What is claimed is:
1. An information processing device, comprising:
a network interface configured to be switchably connected to a first network and a second network different from the first network, the first network being connected to one or more client devices and one or more image processing devices, the second network being connected to an external device; and
processing circuitry configured to
while the network interface is connected to the first network, receive, through the first network, client information relating to a client device of the one or more client devices and device information relating to an image processing device among the one or more image processing devices, the client information and the device information being sent from the client device,
control the network interface to switch a connection from the first network to the second network after receiving the client information and the device information,
after the network interface is connected to the second network, obtain software to be installed on the client device from the external device through the second network, the software being operable on the client device and controlling the image processing device from the client device,
control the network interface to switch the connection from the second network to the first network after obtaining the software, and
send the obtained software to the client device through the first network, so that the client device installs the obtained software.
2. The information processing device according to claim 1, wherein
the processing circuitry specifies the client device on which a client application for acquiring the software from the information processing apparatus has been installed, among the one or more client devices, and
the processing circuitry transmits, to the specified client device, identification information of the information processing device and a transmission request of download request information that requests downloading of the software.
3. The information processing device according to claim 2, wherein the processing circuitry is further configured to
acquire the client application of a latest version from the external device, and
update the installed client application to the acquired client application of the latest version.
4. The information processing device according to claim 3, wherein
the processing circuitry is further configured to receive, from the specified client device via the first network, a version of the client application installed on the client device, and
transmit, when the received version is older than the acquired latest version, to the client device via the first network, update instruction information that instructs updating to the client application of the latest version.
5. The information processing device according to claim 1, wherein the information processing device is portable.
6. The information processing device according to claim 1, wherein
the image processing device is an image forming apparatus, and
the software is a printer driver.
7. An information processing system, comprising:
an information processing device; and
a client device,
wherein the information processing device comprises:
a network interface configured to be switchably connected to a first network and a second network different from the first network, the first network being connected to one or more client devices and one or more image processing devices, the second network being connected to an external device; and
processing circuitry configured to
while the network interface is connected to the first network, receive, through the first network, client information relating to the client device of the one or more client devices and device information relating to an image processing device among the one or more image processing devices, the client information and the device information being sent from the client device,
control the network interface to switch a connection from the first network to the second network after receiving the client information and the device information,
after the network interface is connected to the second network, obtain software to be installed on the client device from the external device through the second network, the software being operable on the client device and controlling the image processing device from the client device,
control the network interface to switch the connection from the second network to the first network after obtaining the software, and
send the obtained software to the client device through the first network, so that the client device installs the obtained software.
8. The information processing system according to claim 7, wherein the client device includes a processor configured to install the software received from the information processing device on the client device.
9. A non-transitory computer-readable medium including a program that, when executed by processing circuitry of an information processing device, causes the information processing device to perform a method comprising:
while a network interface is connected to a first network, receiving, through the first network, client information relating to a client device of one or more client devices and device information relating to an image processing device among one or more image processing devices, the client information and the device information being sent from the client device;
controlling the network interface to switch a connection from the first network to a second network after receiving the client information and the device information;
after the network interface is connected to the second network, obtaining software to be installed on the client device from the external device through the second network, the software being operable on the client device and controlling the image processing device from the client device;
controlling the network interface to switch the connection from the second network to the first network after obtaining the software; and
sending the obtained software to the client device through the first network, so that the client device installs the obtained software.
US15/058,378 2015-03-19 2016-03-02 Information processing apparatus, information processing system, and computer program product Expired - Fee Related US9723168B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015056321 2015-03-19
JP2015-056321 2015-03-19
JP2016006605A JP2016177777A (en) 2015-03-19 2016-01-15 Information processing apparatus, information processing system, and information processing program
JP2016-006605 2016-01-15

Publications (2)

Publication Number Publication Date
US20160277621A1 US20160277621A1 (en) 2016-09-22
US9723168B2 true US9723168B2 (en) 2017-08-01

Family

ID=56925589

Family Applications (1)

Application Number Title Priority Date Filing Date
US15/058,378 Expired - Fee Related US9723168B2 (en) 2015-03-19 2016-03-02 Information processing apparatus, information processing system, and computer program product

Country Status (2)

Country Link
US (1) US9723168B2 (en)
CN (1) CN105988752A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6576071B2 (en) * 2015-03-27 2019-09-18 キヤノン株式会社 Information processing apparatus, server client system, information processing apparatus control method, and program
JP6885087B2 (en) * 2017-02-09 2021-06-09 富士通株式会社 Information processing equipment, information processing methods, programs and information processing systems
JP7233834B2 (en) * 2017-10-10 2023-03-07 キヤノン株式会社 IMAGE PROCESSING DEVICE, CONTROL METHOD AND PROGRAM OF IMAGE PROCESSING DEVICE
JP7109903B2 (en) * 2017-11-02 2022-08-01 キヤノン株式会社 Information processing device, its control method, and program

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111418A1 (en) * 2002-12-04 2004-06-10 Microsoft Corporation Print management architecture for computing devices
US20050210227A1 (en) * 2004-03-05 2005-09-22 Microsoft Corporation Multilevel ticket-based job management architecture for computing devices
JP2007219576A (en) 2006-02-14 2007-08-30 Ricoh Co Ltd Printer driver selection program and recording medium
US20080055640A1 (en) * 2006-08-31 2008-03-06 Brother Kogyo Kabushiki Kaisha Communication system and printer therefor
JP2008059239A (en) 2006-08-31 2008-03-13 Brother Ind Ltd Communication system
JP2008129653A (en) 2006-11-16 2008-06-05 Ricoh Co Ltd Driver installation method, target equipment controlled by driver
US20100332633A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C General and highly scalable peer-to-peer distribution mechanism for nodes on a network
US20100333082A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C Centralized utility for automated retrieval, distribution/installation, and licensing management of software updates using peer-to-peer communication
US20120167162A1 (en) * 2009-01-28 2012-06-28 Raleigh Gregory G Security, fraud detection, and fraud mitigation in device-assisted services systems
US20120218576A1 (en) * 2011-02-24 2012-08-30 Hitoshi Sekine Web Services Printer Driver
US20130016627A1 (en) * 2010-03-31 2013-01-17 Fujitsu Limited Network relay node device, network relay method, and recording medium
US8520850B2 (en) * 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US8621540B2 (en) * 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US20140233057A1 (en) 2013-02-20 2014-08-21 Ricoh Company, Ltd. Control system for forming and outputting image, control apparatus for forming and outputting image, and recording medium storing a control program for forming and outputting image
US8881282B1 (en) * 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US20140347692A1 (en) 2013-05-27 2014-11-27 Ricoh Company, Ltd. Data processing system and method of data processing
US20150324667A1 (en) * 2014-05-08 2015-11-12 Konica Minolta, Inc. Non-transitory computer-readable storage medium, computing device, and display method of user interface of printer driver
US9355228B2 (en) * 2012-07-13 2016-05-31 Angel Secure Networks, Inc. System and method for policy driven protection of remote computing environments

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014171211A (en) * 2013-02-06 2014-09-18 Ricoh Co Ltd Information processing system

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111418A1 (en) * 2002-12-04 2004-06-10 Microsoft Corporation Print management architecture for computing devices
US20050210227A1 (en) * 2004-03-05 2005-09-22 Microsoft Corporation Multilevel ticket-based job management architecture for computing devices
US8881282B1 (en) * 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
JP2007219576A (en) 2006-02-14 2007-08-30 Ricoh Co Ltd Printer driver selection program and recording medium
US20080055640A1 (en) * 2006-08-31 2008-03-06 Brother Kogyo Kabushiki Kaisha Communication system and printer therefor
JP2008059239A (en) 2006-08-31 2008-03-13 Brother Ind Ltd Communication system
US8520850B2 (en) * 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
JP2008129653A (en) 2006-11-16 2008-06-05 Ricoh Co Ltd Driver installation method, target equipment controlled by driver
US8621540B2 (en) * 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US20120167162A1 (en) * 2009-01-28 2012-06-28 Raleigh Gregory G Security, fraud detection, and fraud mitigation in device-assisted services systems
US20100333082A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C Centralized utility for automated retrieval, distribution/installation, and licensing management of software updates using peer-to-peer communication
US20100332633A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C General and highly scalable peer-to-peer distribution mechanism for nodes on a network
US20130016627A1 (en) * 2010-03-31 2013-01-17 Fujitsu Limited Network relay node device, network relay method, and recording medium
US20120218576A1 (en) * 2011-02-24 2012-08-30 Hitoshi Sekine Web Services Printer Driver
US9355228B2 (en) * 2012-07-13 2016-05-31 Angel Secure Networks, Inc. System and method for policy driven protection of remote computing environments
US20140233057A1 (en) 2013-02-20 2014-08-21 Ricoh Company, Ltd. Control system for forming and outputting image, control apparatus for forming and outputting image, and recording medium storing a control program for forming and outputting image
US20140347692A1 (en) 2013-05-27 2014-11-27 Ricoh Company, Ltd. Data processing system and method of data processing
US20150324667A1 (en) * 2014-05-08 2015-11-12 Konica Minolta, Inc. Non-transitory computer-readable storage medium, computing device, and display method of user interface of printer driver

Also Published As

Publication number Publication date
CN105988752A (en) 2016-10-05
US20160277621A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
US10630857B2 (en) Electronic apparatus and method to update firmware of the electronic apparatus when adding a web application to the electronic apparatus
US9081641B2 (en) Communication device, update method, and computer-readable storage medium
US9146731B2 (en) Information processing apparatus, relay server, information relay method, non-transitory computer-readable medium storing information relay program, and communication system
US10687187B2 (en) Information processing system configured to determine usability of an application, information processing apparatus, and information processing method
US9723168B2 (en) Information processing apparatus, information processing system, and computer program product
US20180067700A1 (en) Information processing device, computer-readable recording medium, and information processing system
US10055362B2 (en) Apparatus and method for providing application auto-install function in digital device
US20130246923A1 (en) Information processing system, communication terminal, information processing device, and non-transitory computer readable recording medium
JP2004326776A (en) Distributed peripheral device control system and method
US20190188002A1 (en) System, Device, Method, and Computer-Readable Recording Medium
JP2015130154A (en) Information processing device, program, and information management method
US11079980B2 (en) Storage medium storing image processing program and information processing apparatus to install driver associated with user and image processing device identifications
KR101459390B1 (en) Administrator terminal connected to image forming apparatus and client, image forming system, and remote installing method for driver thereof
US9160878B2 (en) Server apparatus that enables easy use of image input apparatus, information processing apparatus, methods of controlling the apparatuses, control program, and storage medium
US20190303122A1 (en) Application program setup method and download server
US11122181B2 (en) Non-transitory computer-readable recording medium storing computer-executable instructions and setup system for selecting a device
JP2016181202A (en) Information processing terminal and program
US10917383B2 (en) Management system including first and second information-processing apparatuses connected to each other via firewall
JP6693173B2 (en) Computer program and terminal device
JP2021196906A (en) Information processing apparatus, method for controlling the same, and program
US10079873B2 (en) Information processing apparatus and method
JP2016177777A (en) Information processing apparatus, information processing system, and information processing program
JP2021136670A (en) Information processing apparatus, control method for the same, and program
JP2015121887A (en) Information processing device and control method thereof, and program
US11275575B2 (en) Information processing apparatus, method, and recording medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: RICOH COMPANY, LIMITED, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IIDA, HIROKAZU;REEL/FRAME:037974/0220

Effective date: 20160225

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20210801