KR102138041B1 - 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램 - Google Patents

정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램 Download PDF

Info

Publication number
KR102138041B1
KR102138041B1 KR1020200060412A KR20200060412A KR102138041B1 KR 102138041 B1 KR102138041 B1 KR 102138041B1 KR 1020200060412 A KR1020200060412 A KR 1020200060412A KR 20200060412 A KR20200060412 A KR 20200060412A KR 102138041 B1 KR102138041 B1 KR 102138041B1
Authority
KR
South Korea
Prior art keywords
server
information
information processing
communication
determination
Prior art date
Application number
KR1020200060412A
Other languages
English (en)
Other versions
KR20200059205A (ko
Inventor
슌 나카무라
šœ 나카무라
Original Assignee
캐논 가부시끼가이샤
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
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20200059205A publication Critical patent/KR20200059205A/ko
Application granted granted Critical
Publication of KR102138041B1 publication Critical patent/KR102138041B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • H04L67/42
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)

Abstract

판정 유닛은 서버가 정보 처리 장치와 일체로 구성된 장치인지를 판정하고, 판정 유닛의 판정 결과에 따라, 서버와 정보 처리 장치 사이의 통신 커넥션이 제어되고, 전력 상태의 이행이 제어된다.

Description

정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램{INFORMATION PROCESSING APPARATUS, METHOD FOR CONTROLLING INFORMATION PROCESSING APPARATUS, AND PROGRAM}
본 발명은 서버와 클라이언트 사이에서 특정한 정보를 공유하기 위한 기술에 관한 것이다.
종래, 서버와 클라이언트 사이에서 특정한 정보를 공유하기 위한 동기 시스템이 알려져 있다. WO2013/024553호에는, 이메일, 캘린더, 또는 연락처 번호 및 주소의 정보에 관한 동기 서비스를 제공하는 서버에, 정기적으로 킵-얼라이브 패킷을 송신해서 서버와의 동기 통신을 행하는 클라이언트(휴대 전화)가 개시되어 있다. WO2013/024553호에서 논의된 클라이언트는, 클라이언트의 디스플레이의 표시 상태가 표시부터 비표시로 이행하면, 서버에의 정기적인 킵-얼라이브 패킷의 송신을 정지한다. 또한, WO2013/024553호에서 논의된 클라이언트는, 조작 화면의 표시 상태가 비표시부터 표시로 이행하면, 서버에의 킵-얼라이브 패킷의 송신을 재개한다.
또한, 일본 특허 공개 제2010-283618호 공보에는, 서버와 클라이언트 사이에서 화상 형성 장치의 설정 데이터를 공유하기 위한 동기 시스템이 논의되어 있다. 특허문헌 2에서는, 1대의 화상 형성 장치가 서버의 기능을 실현하기 위한 웹 서버 제어 유닛과, 클라이언트의 기능을 실현하기 위한 웹 클라이언트 제어 유닛을 둘 다 갖는 구성이 논의되어 있다.
WO2013/024553호에서와 같이, 미리 결정된 패킷을 정기적으로 송신해서 서버와 클라이언트 사이의 통신 커넥션을 계속 유지하는 시스템에 있어서, 일본 특허 공개 제2010-283618호 공보에서와 같이 1대의 장치가 서버 기능과 클라이언트 기능을 둘 다 갖는 경우, 이하의 과제가 발생한다. 즉, 서버 기능과 클라이언트 기능을 둘 다 갖는 장치는, 서버와 클라이언트 사이의 통신 커넥션을 차단할 수 없다.
예를 들어, 서버가 클라이언트로부터 전회 킵-얼라이브 패킷을 수신하고 나서 미리 결정된 시간이 경과한 시점까지 서버가 킵-얼라이브 패킷을 수신하지 않으면, 서버는 클라이언트와의 커넥션을 차단한다. 관리 대상으로서의 모든 클라이언트와의 커넥션이 차단되는 조건 하에서, 서버는 전력 절약 상태로 이행할 수 있다.
또한, 장치가 전력 절약 상태로 이행하기 위한 조건을 만족한 경우, 클라이언트는 서버에의 킵-얼라이브 패킷의 송신을 중지하고, 서버와의 커넥션을 차단한다.
이 경우, 서버 기능을 실현하는 서버 유닛과 클라이언트 기능을 실현하는 클라이언트 유닛을 통합된 장치로서 구성하면, 이러한 장치는 다음과 같이 동작한다.
즉, 클라이언트 유닛은, 이 클라이언트 유닛을 포함하는 장치가 전력 절약 상태로 이행 가능하게 될 때까지 스탠바이 상태를 계속 유지한다. 스탠바이 상태인 동안에, 클라이언트 유닛은, 이 클라이언트 유닛을 포함하는 장치의 서버 유닛에 정기적으로 킵-얼라이브 패킷을 계속해서 송신한다.
한편, 클라이언트 유닛으로부터 킵-얼라이브 패킷이 정기적으로 송신되기 때문에, 서버 유닛은, 클라이언트 유닛과의 커넥션을 차단할 수 없어, 서버 유닛을 포함하는 장치를 전력 절약 상태로 이행시킬 수 없다. 서버 유닛을 포함하는 장치가 전력 절약 상태로 이행할 수 없기 때문에, 클라이언트 유닛은 킵-얼라이브 패킷을 클라이언트 유닛을 포함하는 장치의 서버 유닛에 계속해서 송신한다.
상기한 바와 같이, 서버 유닛과 클라이언트 유닛은 커넥션을 계속 유지해서, 전력 절약 상태로 이행할 수 없다.
본 발명의 한 양태에 따르면, 정보 처리 장치는 명령어들의 세트를 저장하는 메모리 디바이스, 및 적어도 하나의 프로세서를 포함하며, 적어도 하나의 프로세서는 명령어들을 실행하여, 정보 처리 장치가, 장치의 전력 절약 상태로의 이행 조건으로서, 정보 처리 장치와 통신하기 위한 서버가 전력 절약 상태로 이행 가능하게 되는 것을 요구하는 장치인지의 여부를 판정하고, 정보 처리 장치와 서버 사이의 통신 커넥션의 계속 유지와 관련하여, 정보 처리 장치가, 전력 절약 상태로의 이행 조건으로서, 서버가 전력 절약 상태로 이행 가능하게 되는 것을 요구하는 장치라고 판정된 경우와, 정보 처리 장치가, 전력 절약 상태로의 이행 조건으로서, 서버가 전력 절약 상태로 이행 가능하게 되는 것을 요구하는 장치가 아니라고 판정된 경우 사이에서, 상이한 타입의 제어를 행한다.
본 발명의 추가의 특징은 첨부된 도면을 참조하여 이하의 예시적인 실시예의 설명으로부터 명백해질 것이다.
도 1은 제1 실시예에 있어서의 정보 처리 시스템의 구성예를 도시하는 도면이다.
도 2는 다기능 주변 장치의 구성예를 도시하는 도면이다.
도 3은 클라이언트 애플리케이션의 모듈 구성을 도시하는 도면이다.
도 4는 서버 애플리케이션의 모듈 구성을 도시하는 도면이다.
도 5는 제1 실시예에 있어서의 클라이언트 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 6은 제1 실시예에 있어서의 서버 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 7은 제2 실시예에 있어서의 클라이언트 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 8은 제3 실시예에 있어서의 클라이언트 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 9는 제3 실시예에 있어서의 서버 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 10은 제4 실시예에 있어서의 서버 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
도 11은 제5 실시예에 있어서의 클라이언트 애플리케이션의 모듈 구성을 도시하는 도면이다.
도 12는 제5 실시예에 있어서의 클라이언트 애플리케이션에 의해 수행된 처리를 나타내는 흐름도이다.
이하, 본 발명을 실시하기 위한 실시예에 대해서 도면을 참조해서 설명할 것이다.
도 1은, 제1 실시예에 있어서의 설정 값 동기 시스템의 구성을 도시하는 도면이다. 도 1의 예에서는, 네트워크(100)에, 정보 처리 장치로서의 다기능 주변 장치(120a, 120b, 및 120c)가 접속된다. 다기능 주변 장치(120a) 내에는 서버(110)가 존재한다. 이하, 다기능 주변 장치(120a, 120b, 및 120c) 각각은 간단히 "다기능 주변 장치(120)"로서 지칭될 것이다.
본 실시예에 있어서, "동기(synchronization)"는, 서버(110)가 관리하는 마스터 데이터(401) 및 다기능 주변 장치(120)가 관리하는 설정 데이터(311)의 한쪽이 갱신된 경우에, 다른 쪽에도 해당 갱신의 내용을 반영시켜서 그 내용을 공통 값으로 갱신하는 처리를 지칭한다. 본 실시예에서는, 서버(110)와 다기능 주변 장치(120) 사이에서 쌍 방향으로 설정 정보가 송신된다. 그러나, 본 발명은 그러한 방향들 중 단지 하나의 방향으로 설정 정보를 송신하는 시스템에도 적용 가능하다.
서버(110)는, 마스터 데이터(401)를 관리하여, 다기능 주변 장치(120)의 설정 값을 관리한다. 마스터 데이터(401)는 서버(110)가 관리하는 설정 정보이다. 마스터 데이터(401)가 갱신된 경우에, 서버(110)는 다기능 주변 장치(120)에 네트워크(100)를 통해 갱신 정보를 통지한다. 이러한 갱신 정보는, 마스터 데이터(401)의 갱신 내용을 나타내는 정보이다. 또한, 다기능 주변 장치(120)로부터 설정 값의 갱신 정보를 수신했을 경우에는, 서버(110)는 수신한 갱신 정보를 사용해서 마스터 데이터(401)의 값을 갱신한다. 본 실시예에 있어서, 서버(110)는 일반적인 HTTP(Hypertext Transfer Protocol) 서버로서 기능하고, HTTP/1.1의 킵-얼라이브 기능을 사용할 수 있다.
다기능 주변 장치(120)는 복수 타입의 기능, 예를 들어 카피 기능 및 팩스 기능을 실현하는 화상 형성 장치이며, 그 내부에 이들 기능을 실행하는데 이용되는 설정 데이터(311)를 저장한다. 다기능 주변 장치(120) 대신에, 카피 기능, 팩스 기능, 또는 스캐너 기능 등, 단독 기능만을 갖는 화상 형성 장치가 사용될 수 있다.
클라이언트로서의 다기능 주변 장치(120)가 관리하는 설정 정보인 설정 데이터(311)가 갱신된 경우에, 다기능 주변 장치(120)는 서버(110)에 네트워크(100)를 통해 갱신 정보(제1 갱신 정보)를 통지한다. 이러한 갱신 정보는, 설정 데이터(311)의 갱신 내용을 나타내는 정보이다. 또한, 서버(110)로부터 마스터 데이터(401)의 갱신 정보(제2 갱신 정보)를 취득했을 경우에는, 클라이언트로서의 다기능 주변 장치(120)는, 취득한 갱신 정보를 사용하여, 다기능 주변 장치(120)가 관리하는 설정 데이터(311)의 내용을 갱신한다.
상기 구성에 의해, 서버(110)와 다기능 주변 장치(120)는 설정 데이터 동기 처리를 행한다. 서버(110)에 제1 갱신 정보를 통지하는 통지 처리 또는 제2 갱신 정보를 취득하는 취득 처리를 행하기 위해서, 다기능 주변 장치(120)는, 서버(110)와의 커넥션을 확립하는 처리를 행한다. 그 다음, 확립된 커넥션을 사용하여, 다기능 주변 장치(120)는, 제1 갱신 정보를 서버(110)에 통지하거나, 제2 갱신 정보를 서버(110)로부터 취득한다.
도 2는 본 실시예에 있어서의 다기능 주변 장치(120)의 구성을 나타내는 블록도이다. 다기능 주변 장치(120)는, 제어기 유닛(200), 조작 유닛(220), 스캐너(230), 및 프린터(240)를 포함하고 있다. 제어기 유닛(200)은, 조작 유닛(220)에 접속된다. 또한, 제어기 유닛(200)은, 화상 입력 디바이스인 스캐너(230), 및 화상 출력 디바이스인 프린터(240)에 접속된다.
제어기 유닛(200)은, CPU(Central Processing Unit)(202)를 포함한다. CPU(202)는, ROM(Read Only Memory)(206)에 저장되어 있는 부트 프로그램(boot program)을 실행해서 OS(Operation System)를 기동한다. CPU(202)는, 이 OS 상에서, HDD(Hard Disk Drive)(205)에 저장되어 있는 애플리케이션 프로그램을 실행해서 각종 처리를 실행한다. 이 CPU(202)의 작업 영역으로서는 RAM(Random Access Memory)(203)이 사용된다. 또한, RAM(203)은, 작업 영역을 제공함하고, 또한 화상 데이터를 일시 저장하기 위한 화상 메모리 영역을 제공한다. HDD(205)는, 상기 애플리케이션 프로그램, 화상 데이터, 및 다양한 설정 값을 저장한다.
CPU(202)에는, 시스템 버스(210)를 통해, ROM(206) 및 RAM(203)과 함께, 조작 유닛 인터페이스(I/F)(201), 디바이스 I/F(204), 네트워크 I/F(207), 및 화상 처리 유닛(208)이 접속된다. 조작 유닛 I/F(201)는, 터치 패널을 포함하는 조작 유닛(220)과의 인터페이스이다. 조작 유닛 I/F(201)는, 조작 유닛(220)에 표시해야 할 화상 데이터를 조작 유닛(220)에 출력한다. 또한, 조작 유닛 I/F(201)는, 조작 유닛(220)을 통해 유저가 입력한 정보를 CPU(202)에 송신한다. 디바이스 I/F(204)에는, 스캐너(230) 및 프린터(240)가 접속된다. 네트워크 I/F(207)는, 네트워크(100)에 접속되고, 네트워크(100)를 통해 네트워크(100) 상의 장치에 대해 정보를 입출력한다. 화상 처리 유닛(208)은, 스캐너(230)로부터 입력된 화상에 대한 처리, 프린터(240)에 출력할 화상에 대한 처리, 및 화상 회전, 화상 압축, 해상도 변환, 색 공간 변환, 및 계조 변환을 행한다.
ROM(206) 또는 HDD(205)에는, 클라이언트 애플리케이션(300) 및 서버 애플리케이션(400)이 저장된다. 다기능 주변 장치(120)의 CPU(202)는 클라이언트 애플리케이션(300)을 실행함으로써 서버(110)의 클라이언트로서의 기능을 실현한다. 또한, 다기능 주변 장치(120)의 CPU(202)는, 서버 애플리케이션(400)을 인에이블해서 실행함으로써 서버(110)로서도 기능할 수 있다. 유저는 서버 애플리케이션(400)을 인에이블할 지의 여부를 변경할 수 있다.
본 실시예에서, 서버 애플리케이션(400)은 다기능 주변 장치(120a) 상에서 인에이블된다. 또한, 다기능 주변 장치(120a)는 클라이언트 애플리케이션(300)도 실행한다. 다기능 주변 장치(120a)는 서버(110)로서 동작하고 서버(110)의 클라이언트로서도 동작한다.
본 실시예에서, 다기능 주변 장치(120b 및 120c)는 클라이언트 애플리케이션(300)만을 실행하고, 서버 애플리케이션(400)은 다기능 주변 장치(120b 및 120c) 상에서 디스에이블된다. 다기능 주변 장치(120b 및 120c)는, 서버(110)의 클라이언트로서도 동작한다.
이어서, 클라이언트로서의 다기능 주변 장치(120)의 기능을 실현하기 위한 클라이언트 애플리케이션(300)의 구성에 대해서 도 3을 참조해서 설명한다. 클라이언트 애플리케이션(300)은, ROM(206) 또는 HDD(205) 등의 저장 유닛에 유지되고, CPU(202)에 의해 판독되어 실행된다.
도 3을 참조하여, 다기능 주변 장치(120)에 의해 실행되는 클라이언트 애플리케이션(300)의 구성에 대해서 설명한다.
설정 데이터 관리 유닛(310)은, 다기능 주변 장치(120)의 설정 데이터(311)를 관리한다. 설정 데이터(311)는, 클라이언트로서 다기능 주변 장치(120)가 동작할 때 사용할 다양한 설정 값을 포함한다. 설정 데이터(311)는 예를 들어, 주소록 정보, 및 각각의 유저마다 커스터마이즈된 설정 값을 포함한다. 다기능 주변 장치(120)의 각각의 유저마다 커스터마이즈된 설정 값은 예를 들어, 조작 화면 상의 버튼 배치 및 표시 언어의 설정 값을 포함한다. 설정 데이터(311)는, HDD(205), RAM(203), 또는 ROM(206) 등의 저장 유닛에 저장된다.
통신 제어 유닛(320)이 서버(110)로부터 마스터 데이터(401)의 갱신 정보를 취득한 경우에, 설정 데이터 관리 유닛(310)은, 취득한 갱신 정보를 설정 데이터(311)에 반영시키는 제어를 행한다. 또한, 설정 데이터(311)가 다기능 주변 장치(120)에 있어서 갱신된 경우에, 설정 데이터 관리 유닛(310)은, 설정 데이터(311)의 갱신 내용을 나타내는 갱신 정보를 서버(110)의 마스터 데이터(401)에 반영시키는 처리를 통신 제어 유닛(320)에 실행시킨다.
통신 제어 유닛(320)은, 네트워크 I/F(207)를 제어해서 또 다른 장치와 통신한다. 통신 제어 유닛(320)은 제어 유닛(321) 및 통신 처리 유닛(322)을 포함한다. 제어 유닛(321)은 서버(110)와의 설정 값 동기 처리를 제어한다. 통신 처리 유닛(322)은, 네트워크 I/F(207)를 통해 통신 처리를 제어한다. 통신 처리 유닛(322)은, 통신 처리 유닛(422)과 협동하여, 서버(110)와 정보 처리 장치 사이의 통신 커넥션(이하, "커넥션")을 확립하기 위한 처리를 실행한다. 예를 들어, 통신 제어 유닛(320)은, TCP(Transmission Control Protocol)의 절차에 따라서 커넥션을 확립하거나 해제할 수 있다. 그러나, 본 발명은 이것에 제한되지 않는다. 이하, 커넥션을 확립하는 처리는, 보통 "커넥션의 접속"으로 지칭된다. 커넥션을 해제하는 처리는, 보통 "커넥션의 차단"으로 지칭된다. 또한, 본 실시예에 있어서, "커넥션"은, 다기능 주변 장치(120)와 서버(110) 사이에서 확립되는 가상 통신 채널을 지칭한다. 일단 미리 결정된 통신 절차를 실행해서 다기능 주변 장치(120)와 서버(110) 사이에 커넥션을 확립하면, 다기능 주변 장치(120)와 서버(110)는 이후의 통신에서는 간단한 절차에 의해 서로 데이터를 송수신할 수 있다.
통신 제어 유닛(320)은, 서버(110)와의 설정 값 동기 통신을 제어한다. 또한, 제어 유닛(321)은, 통신 처리 유닛(322)에 의해 서버(110)로부터 취득한 마스터 데이터(401)의 갱신 정보를 수신한다. 제어 유닛(321)은, 수신한 마스터 데이터(401)의 갱신 정보를 설정 데이터(311)에 반영시키도록 설정 데이터 관리 유닛(310)에 요구한다. 또한, 통신 제어 유닛(320)은, 서버(110)가, 통신 제어 유닛(320)이 동작하고 있는 다기능 주변 장치(120) 내에 배치되어 있는 지의 여부를 판정하는 처리를 행한다. 즉, 통신 제어 유닛(320)은, 통신 제어 유닛(320)이 동작하고 있는 다기능 주변 장치(120)가, 서버(110)와 일체로서 구성된 장치인지의 여부를 판정한다. 본 실시예에서는, 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치인 경우에, 다기능 주변 장치(120)는, 다기능 주변 장치(120)가, 전력 절약 상태로의 이행 조건으로서, 서버(110)가 전력 절약 상태로 이행 가능하게 되는 것을 요구하는 장치라고 판정(제1 판정)한다. 또한, 본 실시예에서는, 서버(110)와 다기능 주변 장치(120)가 상이한 장치인 경우에, 다기능 주변 장치(120)는, 다기능 주변 장치(120)가, 전력 절약 상태로의 이행 조건으로서, 서버가 전력 절약 상태로 이행 가능하게 되는 것을 요구하는 장치가 아니라고 판정(제2 판정)한다. 상기 정보 처리 장치와 상기 서버(110) 사이의 통신 커넥션의 유지에 대해서, 다기능 주변 장치(120)는, 제1 판정을 했을 경우와 제2 판정을 했을 경우 사이에서 상이한 타입의 제어를 행한다. 판정 처리의 예는, 도 5를 참조해서 후술한다.
이어서, 서버(110)의 기능을 실현하기 위한 서버 애플리케이션(400)의 구성에 대해서 도 4를 참조해서 설명한다. 서버 애플리케이션(400)은, RAM(203), HDD(205), 또는 ROM(206) 등의 저장 유닛에 저장되어, CPU(202)에 의해 실행된다. 마스터 데이터 관리 유닛(410)은, 마스터 데이터(401)를 관리한다. 통신 제어 유닛(420)으로부터의 지시에 따라서, 마스터 데이터 관리 유닛(410)은, 마스터 데이터(401)의 갱신 정보를 판독하거나, 마스터 데이터(401)를 갱신한다.
마스터 데이터 관리 유닛(410)은, 통신 제어 유닛(420)이 클라이언트 애플리케이션(300)으로부터 수신한 갱신 정보를 마스터 데이터(401)에 반영하는 처리를 행한다. 또한, 통신 제어 유닛(420)이 클라이언트 애플리케이션(300)으로부터 마스터 데이터(401)의 갱신 정보 취득 요구를 수신한 경우에, 마스터 데이터 관리 유닛(410)은, 마스터 데이터(401)의 갱신 정보를 생성하고, 이 갱신 정보를 통신 제어 유닛(420)에 통지하는 처리를 행한다. 마스터 데이터 관리 유닛(410)이 관리하는 마스터 데이터(401)는, HDD(205), RAM(203), 또는 ROM(206) 등의 저장 유닛에 보존된다.
통신 제어 유닛(420)은, 네트워크 I/F(207)를 통해 통신을 제어한다. 통신 제어 유닛(420)은, 제어 유닛(421) 및 통신 처리 유닛(422)을 포함한다. 제어 유닛(421)은, 클라이언트 애플리케이션(300)과의 설정 값 동기 처리를 제어한다. 통신 처리 유닛(422)은, 네트워크 I/F(207)를 통해 통신 처리를 제어한다.
통신 처리 유닛(422)이 클라이언트 애플리케이션(300)으로부터 설정 데이터(311)의 갱신 정보를 수신한 경우에, 제어 유닛(421)은, 수신한 갱신 정보를 마스터 데이터 관리 유닛(410)에 통지한다. 또한, 통신 처리 유닛(422)이 클라이언트 애플리케이션(300)으로부터 마스터 데이터(401)의 갱신 정보 취득 요구를 수신한 경우에, 제어 유닛(421)은, 마스터 데이터 관리 유닛(410)으로부터 마스터 데이터(401)의 갱신 정보를 취득한다. 그 다음, 제어 유닛(421)은, 취득한 갱신 정보를 클라이언트 애플리케이션(300)에 송신하도록 통신 처리 유닛(422)에 지시한다.
통신 처리 유닛(422)은, 클라이언트 애플리케이션(300)과의 통신 처리를 실행한다. 통신 처리 유닛(422)은, 통신 처리 유닛(322)과 협동해서, 서버(110)와 정보 처리 장치 사이의 통신 커넥션을 확립하는 처리를 실행한다. 예를 들어, 통신 처리 유닛(422)은, TCP에 의해 규정되는 미리 결정된 절차에 따라, 다기능 주변 장치(120)와의 커넥션을 확립하거나 해제한다.
본 실시예에 따라, 서버(110)와 다기능 주변 장치(120) 사이의 통신 커넥션의 유지와, 서버(110) 및 다기능 주변 장치(120)가 전력 절약 상태로 이행하는 이행 처리 간의 관계에 대해서 설명한다.
서버(110)가 클라이언트로서의 다기능 주변 장치(120)로부터, 커넥션을 계속 유지(keep)(유지(maintain))하도록 서버(110)에 요구하는 통지를 수신하지 않으면, 서버(110)는 다기능 주변 장치(120)와의 커넥션을 차단한다. 커넥션을 계속 유지하도록 서버(110)에 요구하는 통지는, 후술하는 킵-얼라이브 통신을 행하도록 서버(110)에 요구하는 통지이다. 다기능 주변 장치(120)가 서버(110)로서 동작하고 있는 경우에는, 관리 대상으로서의 모든 다기능 주변 장치(120)와의 커넥션이 차단되는 것을 조건으로 해서, 다기능 주변 장치(120)는 다기능 주변 장치(120)가 전력 절약 상태로 이행 가능하다고 판정한다.
또한, 장치가 전력 절약 상태로 이행하기 위한 조건을 만족한 경우, 클라이언트로서의 다기능 주변 장치(120)는, 커넥션을 계속 유지하도록 서버(110)에 요구하는 통지의 송신을 중지하고, 서버(110)와의 커넥션을 해제한다. 장치가 전력 절약 상태로 이행하기 위한 조건의 예는, 다기능 주변 장치(120)에 있어서 미리 결정된 처리가 미리 결정된 기간에 실행되지 않는 조건을 포함한다. 미리 결정된 처리의 예는, 인쇄 처리, 스캔 처리, 및 팩스 처리를 포함한다. 또한, 본 실시예에서는, 다기능 주변 장치(120)와 일체로서 구성된 서버(110)가, 적어도 하나의 다기능 주변 장치(120)와 커넥션을 계속 유지하고 있는 경우에도, 미리 결정된 처리가 실행되고 있다고 판정한다. 이 적어도 하나의 다기능 주변 장치(120)는, 서버(110)와 일체로 된 장치로서 구성된 클라이언트로서의 다기능 주변 장치(120)도 포함한다.
예를 들어, 서버 기능이 다기능 주변 장치(120)에 인에이블되어 있지 않는 경우에, 그리고 실행 중 또는 대기 중인 작업이 없고, 조작의 접수도 없는 상태에서 미리 결정된 시간이 경과하면, 다기능 주변 장치(120)는 서버(110)와의 커넥션을 계속 유지하고 있는지의 여부와 관계없이, 전력 절약 상태로 이행한다.
또한, 예를 들어, 다기능 주변 장치(120)가 서버(110)로서도 동작하고 있는 경우에는, 이하의 조건하에서 다기능 주변 장치(120)가 전력 절약 상태로 이행한다. 즉, 실행 중 또는 대기 중인 작업이 없고, 조작의 접수도 없는 상태에서 미리 결정된 시간이 경과하고, 또한 서버(110)가 또 다른 다기능 주변 장치(120)와의 커넥션을 계속 유지하고 있지 않는 경우에, 다기능 주변 장치(120)는 전력 절약 상태로 이행한다.
다음으로, 클라이언트로서의 다기능 주변 장치(120)의 동작에 대해서, 도 5를 참조해서 설명한다. 도 5에 도시한 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 클라이언트 애플리케이션(300)을 실행함으로써 실현된다.
도 5의 흐름도는, 다기능 주변 장치(120)에 있어서 미리 결정된 동기 개시 조건이 만족되었을 경우에 개시된다. 동기 개시 조건은, 예를 들어, 클라이언트 애플리케이션(300)이 서버 애플리케이션(400)에 마스터 데이터(401)의 설정 정보(예를 들어, 갱신 정보)를 취득하도록 요구하는 경우에 만족된다. 또한, 동기 개시 조건은, 예를 들어, 다기능 주변 장치(120)에 있어서 설정 데이터(311)가 갱신된 경우에 만족된다. 흐름도는, 다기능 주변 장치(120)와 서버(110) 사이에서 설정 값을 동기시키기 위한 임의의 다른 타이밍에서 개시될 수 있고, 그 조건의 내용은 중요하지 않다.
먼저, 단계 S500에서, 제어 유닛(321)은, 서버(110)와의 커넥션이 계속 유지되고 있는지를 판정한다. 서버(110)와의 커넥션이 계속 유지되고 있다고 판정된 경우(단계 S500에서, 예), 처리는 단계 S550으로 진행한다. 한편, 서버(110)와의 커넥션이 계속 유지되고 있지 않다고 판정된 경우(단계 S500에서, 아니오), 처리는 단계 S510으로 진행한다. 단계 S500의 판정은, 예를 들어 HTTP의 킵-얼라이브의 메커니즘을 사용한 커넥션 관리 방법에 따라 행해질 수 있지만, 판정 방법은 특별히 한정되지 않는다.
단계 S510에 있어서, 제어 유닛(321)은, 서버(110)의 어드레스 정보를 판독한다. 이러한 어드레스 정보는, 클라이언트 애플리케이션(300)이 서버 애플리케이션(400)과 통신하기 위해서 사용할 통신 어드레스이다. 다기능 주변 장치(120)가 접속해야 할 서버(110)의 어드레스 정보는, 예를 들어 관리자에 의해 미리 다기능 주변 장치(120)에 등록되어 있다. 본 실시예에서는, 다기능 주변 장치(120)가 접속해야 할 서버(110)의 어드레스 정보는, 설정 데이터(311)의 일부로서 클라이언트 애플리케이션(300)에 의해 관리된다.
다음으로, 단계 S520에 있어서, 단계 S510에서 취득한 어드레스 정보를 사용하여, 제어 유닛(321)은, 서버(110)의 서버 애플리케이션(400)과의 커넥션을 확립하는 제어를 행한다. 제어 유닛(321)은, 통신 처리 유닛(322)을 제어하여, 서버 애플리케이션(400)과의 커넥션을 확립하는 처리를 실행시킨다.
다음으로, 단계 S530에 있어서, 제어 유닛(321)은, 서버 애플리케이션(400)이, 클라이언트 애플리케이션(300)을 실행하는 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있는지의 여부를 판정한다. 단계 S510에서 취득한 서버(110)의 어드레스 정보에 기초하여, 제어 유닛(321)은, 단계 S530의 판정 처리를 행한다.
예를 들어, 미리 결정된 값 "localhost"이 서버(110)의 어드레스 정보로서 설정되어 있는 경우에, 제어 유닛(321)은, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있다고 판정한다. 또한, 예를 들어, 로컬 루프백 어드레스와 같은 미리 결정된 값이 서버(110)의 어드레스 정보로서 설정되어 있는 경우에, 제어 유닛(321)은, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있다고 판정한다. 로컬 루프백 어드레스로서, 예를 들어, "127.0.0.1", "::1", 또는 "OnThisDevice"가 사용될 수 있다. 한편, 서버(110)의 어드레스 정보가 미리 결정된 값이 아닐 경우에, 제어 유닛(321)은 서버(110)가 다기능 주변 장치(120)와는 상이한 장치로서 구성되어 있다고 판정한다.
대안적으로, 예를 들어, 다기능 주변 장치(120)의 클라이언트 애플리케이션(300)이 관리하고 있는 다기능 주변 장치(120)의 IP(Internet Protocol) 어드레스를, 단계 S510에서 취득한 서버(110)의 IP 어드레스와 비교함으로써 단계 S530에서의 판정이 행해질 수 있다. IP 어드레스들이 서로 일치한 경우에, 제어 유닛(321)은, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있다고 판정한다. 한편, IP 어드레스들이 서로 일치하지 않는 경우에, 제어 유닛(321)은, 서버 애플리케이션(400)이 다기능 주변 장치(120)와는 상이한 장치에 의해 실행된다고 판정한다.
또한 대안적으로, 예를 들어, 다기능 주변 장치(120)가 다기능 주변 장치(120) 자체의 서버 애플리케이션(400)의 서버 기능을 인에이블했을 때, 다기능 주변 장치(120)는, 미리 결정된 저장 영역에, 서버 기능이 인에이블되는(예를 들어, 서버 기능의 인에이블링 플래그가 온이 되는) 것을 나타내는 정보를 저장할 수 있다. 제어 유닛(321)은, 제어 유닛(321)이 동작하고 있는 다기능 주변 장치(120)의 서버 기능이 인에이블되는 것을 나타내는 정보가 미리 결정된 저장 영역에 저장되어 있는지를 판정함으로써 단계 S530에서의 판정을 행할 수 있다.
단계 S530에 있어서, 서버(110)가 다기능 주변 장치(120)와 동일한 장치로서 구성되어 있다고 판정했을 경우(단계 S530에서, 예), 처리는 단계 S540로 진행한다. 즉, 판정 결과가, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있는 것을 나타내는 사실에 따라, 처리는 단계 S540로 진행한다. 또한, 단계 S530에 있어서, 판정 결과가, 서버(110)가 다기능 주변 장치(120)와는 상이한 장치로서 구성되어 있는 것을 나타내는 사실에 따라(단계 S530에서, 아니오), 처리는 단계 S550으로 진행한다.
본 실시예에서는, 서버(110)의 기능이 인에이블되는 다기능 주변 장치(120a)의 처리로서 도 5의 플로우가 실시되는 경우에, 단계 S530에 있어서 서버(110)가 다기능 주변 장치(120)와 동일한 장치로서 구성되어 있다고 판정된다. 한편, 서버(110)의 기능이 인에이블되어 있지 않은 다기능 주변 장치(120b 또는 120c)의 처리로서 도 5의 플로우가 실시되는 경우에, 단계 S530에서는 서버(110)가 다기능 주변 장치(120)와는 상이한 장치로서 구성되어 있다고 판정된다. 다기능 주변 장치(120b 또는 120c)가 서버(110)의 기능(서버 애플리케이션(400))을 갖지 않는 경우에도 동일하게 적용된다.
단계 S540에서는, 제어 유닛(321)은, 통신 처리 유닛(322)을 제어해서 서버 애플리케이션(400)에 동기 요구를 송신시킨다. 단계 S540에서 송신된 동기 요구는, 동기 통신이 종료한 후에 서버 애플리케이션(400)과의 커넥션을 해제하는 것을 나타내는 정보를 포함한다.
이러한 동기 통신은, 마스터 데이터(401)의 갱신 내용을 나타내는 갱신 정보의 취득 요구를 서버 애플리케이션(400)에 송신하고, 그 요구에 응답하여, 서버 애플리케이션(400)으로부터 갱신 정보를 취득하는 통신 처리를 포함한다. 또한, 이러한 동기 통신은, 클라이언트 애플리케이션(300)이 관리하는 설정 데이터(311)의 갱신 내용을 나타내는 갱신 정보를 서버 애플리케이션(400)에 송신하는 통신 처리를 포함한다.
또한, 동기 통신의 종료 후에 서버 애플리케이션(400)과의 커넥션을 해제하는 것을 나타내는 정보는, 예를 들어 HTTP 통신을 행하기 위한 패킷의 요구 헤더에 있어서의 "커넥션" 필드의 값인 "close"이다. 따라서, 커넥션을 서버(110)로 하여금 해제하게 하기 위한 정보를, 동기 요구와 함께, 서버(110)에 통지할 수 있다. 이하, 동기 통신의 종료 후에 서버 애플리케이션(400)과의 커넥션을 해제하는 통신을 "넌-킵-얼라이브 통신"이라고 칭한다.
상기한 바와 같이, 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치라는 판정에 따라, 단계 S540에서는, 제어 유닛(321)은, 커넥션을 서버(110)로 하여금 해제하게 하기 위한 정보를 서버(110)에 통지한다. 단계 S540의 처리가 실행되어, 서버(110)와 다기능 주변 장치(120) 사이에서 확립된 커넥션을 서버(110)로 하여금 해제시키게 할 수 있다. 모든 다기능 주변 장치(120)와의 커넥션이 해제되면, 서버(110)는 전력 절약 상태로 이행 가능하게 된다. 상기한 바와 같이, 전력 절약 상태로 이행 가능하게 되기 위해서 필요한 적어도 하나 이상의 조건이 만족된다.
또한 단계 S550에 있어서도, 제어 유닛(321)은, 통신 처리 유닛(322)을 제어해서 서버 애플리케이션(400)에 동기 요구를 송신시키게 한다. 그러나, 단계 S550에서 송신되는 동기 요구는, 동기 통신이 종료한 후에 서버 애플리케이션(400)과의 커넥션을 해제하는 것을 나타내는 정보를 포함하지 않는다. 단계 S550에서 송신되는 동기 요구는, 클라이언트 애플리케이션(300)과 서버 애플리케이션(400) 간의 통신 커넥션이 미리 결정된 시간 동안 계속 유지될 것임을 나타내는 정보를 포함할 수 있다. 예를 들어, 제어 유닛(321)은, HTTP 통신의 요구 헤더에 있어서의 "커넥션" 필드의 값으로서 "킵-얼라이브"를 지정하고, 동기 요구를 서버(110)에 통지할 수 있다. 따라서, 커넥션을 서버(110)로 하여금 계속 유지하게 하기 위한 정보를, 동기 요구와 함께 서버(110)에 송신할 수 있다. 이하, 동기 통신이 종료해도 서버 애플리케이션(400)과의 커넥션을 계속 유지하는 통신을 "킵-얼라이브 통신"이라고 칭한다.
상기와 같이, 다기능 주변 장치(120)가 서버(110)와 상이한 장치라는 판정에 따라, 단계 S550에서는, 제어 유닛(321)은, 다기능 주변 장치(120)를 제어해서, 확립된 커넥션을 서버(110)로 하여금 계속 유지하게 하기 위한 정보를 서버(110)에 통지한다.
단계 S540 및 단계 S550의 처리에서는, 서버 애플리케이션(400)은, 동기 통신의 종료 후에 서버 애플리케이션(400)과의 커넥션을 계속 유지할지 여부를 판정할 수 있으면 된다. 예를 들어, 단계 S550에서는, 서버 애플리케이션(400)과의 통신 커넥션을 미리 결정된 시간 동안 계속 유지할 것임을 나타내는 정보가 포함될 수 있고, 단계 S540에서는, 서버 애플리케이션(400)과의 커넥션을 서버(110)로 하여금 해제하게 하기 위한 정보가 송신되지 않을 수 있다.
단계 S560에 있어서, 제어 유닛(321)은, 통신 처리 유닛(322)을 통해 동기 요구의 응답을 수신한다. 수신된 정보는, 예를 들어 클라이언트 애플리케이션(300)으로부터 서버 애플리케이션(400)에 송신한 갱신 정보가 서버 애플리케이션(400)에 의해 적절히 수신된 것을 나타내는 응답이다. 대안적으로, 수신된 정보는, 갱신 정보를 취득하라는 클라이언트 애플리케이션(300)으로부터 송신된 요구에 대한 응답으로서의, 마스터 데이터(401)의 갱신 정보이다.
이어서, 서버(110)로서의 다기능 주변 장치(120)의 동작에 대해서, 도 6을 참조해서 설명한다. 도 6에 나타낸 처리는, CPU(202)가, HDD(205) 또는 ROM(206)으로부터 판독한 서버 애플리케이션(400)을 실행함으로써 실현된다. 도 6의 처리는, 서버 애플리케이션(400)이 클라이언트 애플리케이션(300)으로부터 동기 요구를 수신했을 때에 개시된다.
단계 S610에 있어서, 제어 유닛(421)은, 통신 처리 유닛(422)을 통해 수신한 동기 요구에 따른 처리를 실행한다. 동기 요구에 따른 처리는, 예를 들어, 클라이언트 애플리케이션(300)으로부터 수신한 갱신 정보를 마스터 데이터(401)에 반영시키는 처리이다. 대안적으로, 동기 요구에 따른 처리는, 예를 들어, 클라이언트 애플리케이션(300)으로부터 수신한 취득 요구에 응답하여, 마스터 데이터(401)의 갱신 정보를 생성하는 처리이다. 제어 유닛(421)은, 마스터 데이터 관리 유닛(410)을 제어해서 이들 처리를 실행시킨다.
단계 S620에 있어서, 제어 유닛(421)은, 통신 처리 유닛(422)을 통해, 동기 요구에 대한 응답을 클라이언트 애플리케이션(300)에 송신한다. 이러한 응답은, 예를 들어, 클라이언트 애플리케이션(300)으로부터 수신한 갱신 정보를 마스터 데이터(401)에 반영시킨 것을 나타내는 정보이다. 대안적으로, 이러한 응답은, 예를 들어, 단계 S610에서 생성한 마스터 데이터(401)의 갱신 정보의 송신이다.
단계 S630에 있어서, 제어 유닛(421)은, 클라이언트 애플리케이션(300)으로부터 수신한 동기 요구가 넌-킵-얼라이브 통신의 요구인지를 판정한다. 예를 들어, 제어 유닛(421)은, 동기 요구의 HTTP 헤더의 "커넥션" 필드의 값을 취득하고, 이러한 값에 기초하여, 설정 값 동기 요구가 넌-킵-얼라이브 통신의 요구인지의 여부를 판정한다. "커넥션" 필드 값이 "close"인 경우에는, 설정 값 동기 요구가 넌-킵-얼라이브 통신의 요구인 것으로 판정되고(단계 S630에서, 예), 처리는 단계 S640으로 진행한다. "커넥션" 필드 값이 "close" 이외의 값인 경우, 또는 "커넥션" 필드가 없을 경우에는, 설정 값 동기 요구가 넌-킵-얼라이브 통신의 요구가 아닌 것으로 판정되고(단계 S630에서, 아니오), 처리는 단계 S650으로 진행한다.
단계 S640에 있어서, 제어 유닛(421)은, 클라이언트 애플리케이션(300)과 서버 애플리케이션(400) 사이에서 확립된 커넥션의 해제 처리를 수행하도록 통신 처리 유닛(422)에 지시한다. 이러한 지시를 수신하면, 통신 처리 유닛(422)은, 해당하는 커넥션의 해제 처리를 실행하고, 도 6에 나타내는 플로우가 종료한다.
단계 S650에 있어서, 제어 유닛(421)은, 클라이언트 애플리케이션(300)과 서버 애플리케이션(400) 사이에서 확립된 커넥션을 계속 유지하고, 도 6에 예시된 플로우가 종료한다.
이와 같은 구성에 의하면, 정보 처리 장치가 서버 기능과 클라이언트 기능을 둘 다 갖는 경우에도, 서버와 클라이언트 사이의 통신 커넥션을 해제할 수 있다. 또한, 정보 처리 장치가 서버 기능과 클라이언트 기능을 둘 다 갖는 경우에도, 통신 커넥션을 해제해서 전력 절약 상태로 이행할 수 있다.
즉, 동기 통신이 종료할 때마다, 서버(110)와 일체로서 구성된 클라이언트로서의 다기능 주변 장치(120a)는, 서버(110)와의 커넥션을 해제한다. 또한, 다기능 주변 장치(120b 및 120c)의 각각에서 전력 절약 상태로 이행하는 조건이 만족되는 경우에, 다기능 주변 장치(120b 및 120c)는 서버(110)와의 커넥션을 해제한다. 따라서, 서버(110)가 관리하는 클라이언트로서의 다기능 주변 장치(120a, 120b, 및 120c)의 어느 것과도 커넥션을 서버(110)가 확립하고 있지 않는 상태를 실현할 수 있다.
서버(110)가 다기능 주변 장치(120a, 120b, 및 120c)의 어느 것과도 커넥션을 확립하고 있지 않는 경우, 상술한 바와 같이, 서버(110)와 일체로 된 장치로서 구성된 다기능 주변 장치(120a)는, 전력 절약 상태로 이행할 수 있다.
따라서, 서버와 일체로 된 장치로서 구성된 클라이언트와의 커넥션을 차단할 수 없고, 일체로 된 장치로서 구성된 서버와 클라이언트는 전력 절약 상태로 이행할 수 없다는 종래 기술의 과제를 해소할 수 있다. 따라서, 보다 적은 전력으로 운용 가능한 동기 시스템을 구축할 수 있다.
또한, 상기의 실시예에 따르면, 서버(110)와 일체로 된 장치로서 구성되어 있지 않는 다기능 주변 장치(120b 및 120c)는, 서버(110)와 킵-얼라이브 통신을 행할 수 있다. 따라서, 전방으로 동기 요구의 제2 송신으로부터는, 동기 요구를 행할 때마다 서버(110)와의 커넥션을 확립할 필요는 없다. 따라서, 빠르게 동기 처리를 실행할 수 있다.
제1 실시예에 있어서는, 서버 애플리케이션(400)이 클라이언트 애플리케이션(300)을 실행하고 있는 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되는 경우, 클라이언트 애플리케이션(300)은 넌-킵-얼라이브 동기 통신을 요구한다. 제2 실시예에서는, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있는 경우에도, 동기 요구를 송신하기 위한 트리거로서의 동작의 타입에 따라 넌-킵-얼라이브 동기 통신을 요구할 지 또는 킵-얼라이브 동기 통신을 요구할 지를 전환하는 예에 대해서 설명한다. 동기 요구를 송신하기 위한 트리거로서의 동작의 타입의 예는, 폴링 처리 또는 유저가 다기능 주변 장치(120)의 설정 변경을 위해 실행한 미리 결정된 처리를 포함한다. 동기 요구를 송신하기 위한 트리거로서의 동작이 실행되면, 상기 동기 개시 조건이 만족되는 것을 가정하여 설명한다.
본 실시예에 따른 구성에 있어서, 제1 실시예와 유사한 부분은 설명되지 않고, 제1 실시예와 상이한 부분에 대해서만 설명한다.
본 실시예에 있어서, 클라이언트 애플리케이션(300)의 통신 처리 유닛(322)은 미리 결정된 시간 간격으로 서버 애플리케이션(400)에 대하여 동기 요구를 행한다. 이러한 동기 요구는, 마스터 데이터(401)의 갱신 정보를 취득하라는 요구이다. 마스터 데이터(401)의 갱신 정보는, 클라이언트 애플리케이션(300)이 이전에 마스터 데이터(401)의 설정 정보(예를 들어, 갱신 정보)를 수신한 시각 이후에 수행된 마스터 데이터(401)의 갱신 내용을 나타내는 정보이다. 통신 처리 유닛(322)은, 클라이언트 애플리케이션(300)의 식별 정보와, 이전에 마스터 데이터(401)의 설정 정보를 취득한 시각을 나타내는 시각 정보를 포함하는 동기 요구를 서버 애플리케이션(400)에 송신한다. 이하의 설명에서는, 마스터 데이터(401)의 갱신 정보 취득 요구를 순차 송신하는 처리는 "폴링 처리"로서 칭해지고, 특히, 미리 결정된 시간 간격으로 취득 요구를 송신하는 처리는 "정기 폴링 처리"로서 칭해진다. 본 실시예에서는, 클라이언트 애플리케이션(300)이 정기 폴링 처리를 실행하는 예에 대해서 설명한다. 대안적으로, 클라이언트 애플리케이션(300)은 정기적이지 아닌 간격으로 폴링 처리를 수행할 수 있다.
또한, 본 실시예에 있어서, 다기능 주변 장치(120)에 있어서 유저의 로그인 처리의 실행에 따라, 통신 처리 유닛(322)은, 마스터 데이터(401)의 갱신 정보 취득 요구를 송신한다. 또한, 유저가 조작 유닛(220)을 조작해서 다기능 주변 장치(120)의 설정(설정 데이터(311))을 갱신한 경우, 통신 처리 유닛(322)은, 갱신의 내용을 나타내는 갱신 정보를 서버 애플리케이션(400)에 송신한다. 이러한 갱신 정보의 송신은, 갱신 정보를 사용해서 마스터 데이터(401)를 갱신하도록 서버 애플리케이션(400)에 요구하는 동기 요구에 대응한다.
본 실시예에 따른 클라이언트 애플리케이션(300)의 동작에 대해서, 도 7을 참조해서 설명한다. 도 7에 나타낸 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 클라이언트 애플리케이션(300)을 실행함으로써 실현된다. 제1 실시예에 있어서 도 5를 참조해서 설명한 처리에 대해서는, 도 5에서와 동일한 단계 번호를 첨부하고, 여기서는 설명하지 않는다.
도 5와 마찬가지로, 도 7에 도시된 흐름도는, 미리 결정된 동기 개시 조건이 만족되었을 경우에 개시된다. 동기 개시 조건은, 예를 들어, 클라이언트 애플리케이션(300)이 서버 애플리케이션(400)에 마스터 데이터(401)의 설정 정보(예를 들어, 갱신 정보)를 취득하라고 요구하는 경우에 만족된다. 또한, 동기 개시 조건은, 예를 들어, 다기능 주변 장치(120)에 있어서 설정 데이터(311)가 갱신된 경우에 만족된다. 흐름도는, 다기능 주변 장치(120)와 서버(110) 사이에서 설정 값을 동기시키기 위한 임의의 다른 타이밍에 개시될 수 있고, 그 조건의 내용은 중요하지 않다.
단계 S530에 있어서 제어 유닛(321)이 동작하고 있는 다기능 주변 장치(120)에 커넥션 목적지로서의 서버(110)가 존재한다고 판정된 경우(단계 S530에서, 예), 처리는 단계 S701로 진행한다.
단계 S701에서, 제어 유닛(321)은, 도 7에 도시된 처리를 개시하기 위한 트리거로서의 동작의 타입이 폴링 처리인지의 여부를 판정한다. 판정의 결과, 동작의 타입이 폴링 처리인 경우(단계 S701에서, 예)에는, 처리는 단계 S540으로 진행한다. 한편, 동작의 타입이 폴링 처리가 아닌 경우(단계 S701에서, 아니오)에는, 처리는 단계 S550으로 진행한다. 다른 처리의 내용은 도 5를 참조해서 설명한 내용과 유사하다.
이상의 절차에서는, 다기능 주변 장치(120)가 실행하는 처리가 갱신 정보를 서버(110)에 통지하기 위한 통지 처리인 것으로 판정되는 경우에, 또한 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치인 것으로 판정되는 경우에는, 다기능 주변 장치(120)는 커넥션을 서버(110)로 하여금 계속 유지하게 하기 위한 정보를 서버(110)에 통지한다. 또한, 다기능 주변 장치(120)가 실행하는 처리가 갱신 정보를 취득하기 위한 취득 처리인 것으로 판정되는 경우에, 또한 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치인 것으로 판정되는 경우에는, 다기능 주변 장치(120)는 커넥션을 서버(110)로 하여금 해제하게 하기 위한 정보를 서버(110)에 통지한다.
이러한 절차에 의해 처리가 실행됨으로써, 폴링 처리와 같은, 다기능 주변 장치(120)의 백그라운드에서 실행되는 통신 처리만이 실행되어 있는 상황에서는, 서버 애플리케이션(400)과의 커넥션이 해제된다. 따라서, 제1 실시예에서 설명한 것과 마찬가지인 이유로 인해, 다기능 주변 장치(120)는 전력 절약 상태로 이행할 수 있다.
또한, 본 실시예에서는, 클라이언트로서의 다기능 주변 장치(120)와 서버(110)가 일체로 된 장치로서 구성되어 있는 경우에도, 동기 처리의 개시가 다기능 주변 장치(120)에 대한 유저 조작에 의해 트리거되는 경우에는 커넥션이 계속 유지된다. 커넥션의 유지는, 1개의 동기 처리를 실행할 때마다 서버(110)와의 커넥션을 구축할 필요를 없앤다. 따라서, 동기 처리를 빠르게 실행할 수 있다.
본 실시예에 따르면, 클라이언트로서의 다기능 주변 장치(120)와 서버(110)가 일체로 된 장치로서 구성되어 있는 경우에도, 다기능 주변 장치(120)에 대한 유저 조작에 따라서 동기 처리가 개시된 경우에는, 동기 처리를 빠르게 실행할 수 있다. 따라서, 유저는 빠르게 조작을 진행시킬 수 있다. 이는, 유저의 편리성을 향상시킬 수 있다.
제3 실시예에서는, 서버(110)가 클라이언트 애플리케이션(300)으로부터의 킵-얼라이브 통신의 요구를 수신해도, 서버(110)가 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)으로부터의 요구일 경우에는 서버(110)가 커넥션을 해제한다. 이와 같은 구성에 의해서도, 제1 실시예와 마찬가지로, 서버(110)와 일체로 된 장치로서 구성된 다기능 주변 장치(120a)는, 전력 절약 상태로 이행할 수 있다.
본 실시예에 따른 구성에 있어서는, 제1 실시예와 유사한 부분은 설명되지 않고, 여기에서는 제1 실시예와 상이한 부분에 대해서만 설명한다.
도 4를 참조해서 설명한 서버 애플리케이션(400)의 제어 유닛(421)은, 동기 요구를 행한 클라이언트 애플리케이션(300)이, 제어 유닛(421)이 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)인지의 여부를 판정하는 처리를 행한다.
본 실시예에 따른 다기능 주변 장치(120)의 클라이언트 애플리케이션(300)이 실시하는 통신 처리의 절차에 대해서 도 8을 참조해서 설명한다. 도 8에 나타낸 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 클라이언트 애플리케이션(300)을 실행함으로써 실현된다. 이하의 설명에서, 제1 실시예에 있어서 도 5를 참조해서 설명한 처리와 동일한 처리에 대해서는, 도 5에서와 동일한 단계 번호를 지정한다.
본 실시예에 따른 다기능 주변 장치(120)의 처리는, 단계 S530 및 단계 S540의 처리가 실행되지 않은 제1 실시예에 있어서 도 5를 참조해서 설명한 처리와 상이하다. 단계 S520의 처리를 실행한 후, 제어 유닛(321)은, 다음으로 단계 S550의 처리를 실행한다. 상기한 바와 같이, 본 실시예에 따른 다기능 주변 장치(120)에 있어서 동기 개시 조건을 만족하는 동작이 발생하는 경우에, 다기능 주변 장치(120)는 항상 킵-얼라이브 통신을 요구하는 동기 요구를 서버(110)에 송신한다.
다음으로, 본 실시예에 따른 서버(110)의 서버 애플리케이션(400)이 실시하는 통신 처리의 절차에 대해서, 도 9를 참조해서 설명한다. 도 9에 나타낸 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 서버 애플리케이션(400)을 실행함으로써 실현된다. 도 9에서의 처리는, 서버 애플리케이션(400)이 클라이언트 애플리케이션(300)으로부터 동기 요구를 수신했을 때에 개시된다. 이하의 설명에서, 제1 실시예에 있어서 도 6을 참조해서 설명한 처리와 유사한 처리에 대해서는, 도 6과 동일한 단계 번호를 지정한다.
단계 S620에 있어서 서버 애플리케이션(400)이 클라이언트 애플리케이션(300)으로부터 취득한 동기 요구에 대한 응답을 송신한 후, 서버 애플리케이션(400)은, 단계 S910의 처리를 실행한다.
단계 S910에서, 제어 유닛(421)은, 동기 요구의 요구 소스인 클라이언트 애플리케이션(300)이, 제어 유닛(421)이 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)인지의 여부를 판정한다. 즉, 단계 S910에 있어서, 제어 유닛(421)은, 제어 유닛(421)이 서버(110)와 일체로 된 장치로서 구성되는 클라이언트로서의 다기능 주변 장치(120)로부터 동기 요구를 수신했는지를 판정한다.
이러한 판정은, 예를 들어 동기 요구에 포함된 "Host" 헤더 필드의 값을, 미리 설정된 다기능 주변 장치(120)의 IP 어드레스 정보와 비교함으로써 행해질 수 있다. "Host" 헤더 필드의 값과 IP 어드레스 정보가 서로 일치하는 경우에는, 제어 유닛(421)은, 동기 요구의 요구 소스인 클라이언트 애플리케이션(300)이, 제어 유닛(421)이 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)이라고 판정한다. 한편, "Host" 헤더 필드의 값과 IP 어드레스 정보가 서로 상이한 경우에, 제어 유닛(421)은, 동기 요구의 요구 소스인 클라이언트 애플리케이션(300)이 또 다른 장치 상에서 동작하는 클라이언트 애플리케이션(300)이라고 판정한다. 이 판정 방법은 이에 한정되지 않고, 특별히 한정되지 않는다.
판정의 결과로서, 동기 요구의 요구 소스인 클라이언트 애플리케이션(300)이, 제어 유닛(421)이 동작하고 있는 다기능 주변 장치(120)에 의해 실행되는 경우(단계 S910에서, 예)에는, 처리는 단계 S640으로 진행한다. 한편, 동기 요구의 요구 소스인 클라이언트 애플리케이션(300)이 또 다른 장치에 의해 실행되는 경우(단계 S910에서, 아니오)에는, 처리는 단계 S630으로 진행한다.
예를 들어, 서버(110)가 동작하고 있는 다기능 주변 장치(120a)의 클라이언트 애플리케이션(300)으로부터 동기 요구를 수신한 경우에는, 단계 S910에 있어서 판정은 예이고, 제어 유닛(421)은, 단계 S640의 처리를 실행한다. 한편, 서버(110)의 것과는 상이한 장치인 다기능 주변 장치(120b 또는 120c)의 클라이언트 애플리케이션(300)으로부터 동기 요구를 수신한 경우에는, 단계 S910에 있어서 판정은 아니오이고, 제어 유닛(421)은 단계 S630의 처리를 실행한다. 다른 처리들은 제1 실시예에서와 유사하므로, 여기에서는 설명되지 않는다.
상기한 바와 같이, 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치라고 판정했을 경우에, 서버(110)는 다기능 주변 장치(120)와 확립된 커넥션을 해제한다.
본 실시예에서는, 클라이언트 애플리케이션(300)으로부터 킵-얼라이브 통신의 요구를 수신해도, 서버(110)는, 서버(110)가 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)으로부터의 요구일 경우에는 커넥션을 해제한다. 본 실시예에 따르면, 서버(110)는, 서버(110)에 의해 관리되는 모든 다기능 주변 장치(120)와의 커넥션을 차단할 수 있다. 따라서, 서버(110)는 전력 절약 상태로 이행 가능하게 된다. 따라서, 서버(110)와 일체로 된 장치로서 구성된 다기능 주변 장치(120a)는, 전력 절약 상태로 이행하는 것이 가능하게 된다.
제4 실시예에서는, 서버(110)가 다기능 주변 장치(120)와의 커넥션을 계속 유지하고 있는 경우에도, 미리 결정된 경우에는 서버(110)가 전력 절약 상태로 이행 가능하게 되는 예에 대해서 설명한다. 즉, 커넥션을 계속 유지하고 있는 애플리케이션이 서버(110)가 동작하고 있는 다기능 주변 장치(120) 상에서 동작하는 클라이언트 애플리케이션(300)뿐인 경우에, 서버(110)는 전력 절약 상태로 이행 가능하게 된다.
본 실시예에 따른 구성에 있어서는, 제1 실시예와 동일한 부분은 설명되지 않고, 여기서는 제1 실시예와 상이한 부분에 대해서만 설명한다.
본 실시예에 있어서, 통신 처리 유닛(422)이 확립하고 있는 커넥션의 관리 상태에 따라, 서버 애플리케이션(400)의 제어 유닛(421)은, 다기능 주변 장치(120)가 전력 절약 상태로 이행 가능한 지의 여부를 판정한다.
또한, 본 실시예에 있어서, 다기능 주변 장치(120)에 있어서 미리 결정된 조건이 만족되었을 경우에, 클라이언트 애플리케이션(300)의 제어 유닛(321)은, 서버 애플리케이션(400)에 대하여 다기능 주변 장치(120)가 전력 절약 상태로의 이행이 가능한지의 여부를 문의하는 처리를 실행한다.
본 실시예에 따른 서버 애플리케이션(400)이 실행하는 처리에 대해서, 도 10을 참조해서 설명한다. 도 10에서의 처리는, 서버 애플리케이션(400)이, 클라이언트 애플리케이션(300)으로부터, 다기능 주변 장치(120)가 전력 절약 상태로의 이행이 가능한지에 관한 문의를 수신한 경우에 개시된다. 도 10에 도시한 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 서버 애플리케이션(400)을 실행함으로써 실현된다.
먼저, 단계 S1010에 있어서, 제어 유닛(421)은, 제어 유닛(421)이 현재 관리하고 있는 커넥션의 정보를 취득한다. 커넥션의 정보는, 예를 들어, IP 어드레스와 포트 번호의 세트인 소켓 정보와, 유지 또는 해제를 나타내는 상태 정보를 적어도 포함하는 정보이다. 클라이언트 애플리케이션(300)과의 커넥션이 확립되었을 때에, 통신 커넥션의 정보는, RAM(203) 또는 HDD(205)에 유지된다.
단계 S1020에 있어서, 계속 유지되는 커넥션의 정보에 기초하여, 제어 유닛(421)은, 동일한 장치 상에서 동작하는 클라이언트 애플리케이션(300)을 나타내는 커넥션만이 존재하고 있는지의 여부를 판정한다.
판정의 결과, 동일한 장치 상에서 동작하는 클라이언트 애플리케이션(300)을 나타내는 커넥션만이 존재하고 있는 경우(단계 S1020에서, 예)에는, 처리는 단계 S1030으로 진행한다. 단계 S1030에서는, 제어 유닛(421)은, 다기능 주변 장치(120)가 전력 절약 상태로 이행 가능한 것을 나타내는 정보를 유지한다. 그 다음, 이러한 플로우는 종료한다.
한편, 동일한 장치 상에서 동작하는 것 이외의 클라이언트 애플리케이션(300)을 나타내는 커넥션이 존재하는 경우(단계 S1020에서, 아니오)에는, 처리는 S1040으로 진행한다. 단계 S1040에서, 제어 유닛(421)은, 다기능 주변 장치(120)가 전력 절약 상태로 이행 불가인 것을 나타내는 정보를 유지한다. 그 다음, 이러한 플로우는 종료한다.
제어 유닛(421)이, 다기능 주변 장치(120)가 전력 절약 상태로 이행 가능한 것을 나타내는 정보를 유지하고 있는 경우에, 또는 임의의 다른 이행 조건이 만족되었을 경우에, 다기능 주변 장치(120)는 전력 절약 상태로 이행한다. 상기한 바와 같이, 다기능 주변 장치(120)가 서버(110)와 일체로서 구성된 장치라고 판정했을 경우와, 서버(110)가 클라이언트로서의 다기능 주변 장치(120)와만의 통신 커넥션을 확립하고 있을 경우에는, 판정은 이하와 같이 행해진다. 즉, 동일한 장치로서 구성되는 서버(110)와 다기능 주변 장치(120)는 전력 절약 상태로 이행 가능하다고 판정된다.
본 실시예에 따르면, 서버(110)에 의해서 계속 유지되고 있는 커넥션이 존재하는 경우에도, 그렇지만 해당 커넥션이, 서버(110)가 동작하고 있는 다기능 주변 장치(120)에 의해 실행되는 클라이언트 애플리케이션(300)과의 커넥션만인 경우에는, 다기능 주변 장치(120)를 전력 절약 상태로 이행하도록 제어하는 것이 가능하게 된다.
 제1 실시예에 있어서, 서버 애플리케이션(400)이 클라이언트 애플리케이션(300)을 실행하고 있는 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있는 경우에, 클라이언트 애플리케이션(300)은 넌-킵-얼라이브 동기 통신을 요구한다.
이에 비해, 제5 실시예에서는, 서버 애플리케이션(400)이 다기능 주변 장치(120)와 동일한 장치 상에서 인에이블되어 있는 경우에도, 그렇지만 복수의 동기 요구에 관한 통신을 연속적으로 실행할 필요가 있는 경우에는, 복수의 동기 요구의 실행 기간 내에 킵-얼라이브 동기 통신이 요구된다. 따라서, 동기 처리를 빠르게 실행할 수 있게 된다. 본 실시예에서, 연속적으로 실행되는 복수의 동기 요구의 세트는, "동기 작업"이라고 칭한다.
본 실시예에 따른 구성에 있어서는, 제1 실시예와 동일한 부분은 설명하지 않고, 여기에서는 제1 실시예와 상이한 부분에 대해서만 설명한다.
본 실시예에 따른 클라이언트 애플리케이션(300)의 소프트웨어 구성에 대해서, 도 11을 참조해서 설명한다. 본 실시예에 있어서, 통신 제어 유닛(320)은, 강제 킵-얼라이브 플래그(1101)를 갖는다. 강제 킵-얼라이브 플래그(1101)는, 통신 처리 유닛(322)을 통해 서버 애플리케이션(400)에 대하여 제어 유닛(321)으로부터 송신될 동기 요구의 내용에 따라 제어 유닛(321)에 의해 설정되고, 통신 실행 시에 통신 처리 유닛(322)에 의해 참조된다. 참조된 강제 킵-얼라이브 플래그(1101)의 값에 따라, 통신 처리 유닛(322)은, 서버 애플리케이션(400)에 대하여 킵-얼라이브 동기 요구를 송신할지 또는 넌-킵-얼라이브 동기 요구를 송신할지를 전환한다. 강제 킵-얼라이브 플래그(1101)는, HDD(205), ROM(206), 및 RAM(203) 중 어느 하나에 저장된다.
본 실시예에 따른 클라이언트 애플리케이션(300)의 동작에 대해서, 도 12를 참조해서 설명한다. 도 12에 나타낸 처리는, CPU(202)가 HDD(205) 또는 ROM(206)으로부터 판독한 클라이언트 애플리케이션(300)을 실행함으로써 실현된다. 제1 실시예에 있어서 도 5를 참조해서 설명한 처리에 대해서는, 도 5에서와 동일한 단계 번호를 첨부하고, 여기에서는 설명되지 않는다.
도 12에서의 흐름도는, 미리 결정된 동기 작업 개시 조건이 만족되었을 경우에 개시된다. 미리 결정된 동기 작업 개시 조건의 예는, 다기능 주변 장치(120)가 서버(110)에 유지되어 있는 마스터 데이터(401)를 설정 데이터(311)와 처음으로 동기시키는 경우와, 다기능 주변 장치(120)가 유저로부터의 지시에 따라 설정 데이터(311)를 마스터 데이터(401)와 강제적으로 동기시키는 경우를 포함한다. 이들 경우에서는, 설정 데이터(311)를 마스터 데이터(401)와 동기시키기 위해서는, 마스터 데이터(401)에 포함된 복수의 데이터에 대한 동기 요구를 연속적으로 실시한다. 그로 인해, 이들 경우에, 제어 유닛(321)은, 복수의 동기 요구를 통합해서 1개의 동기 작업으로서 다룸으로써 통신 처리 유닛(322)을 통해 서버 애플리케이션(400)과의 동기 통신을 실행한다. 그러나, 미리 결정된 동기 작업 개시 조건은 이들 예들 중 임의의 것일 필요는 없고, 그 조건의 내용은 중요하지 않다. 단계 S1210에 있어서, 제어 유닛(321)은, 실행될 동기 통신이, 상술한 바와 같은 동기 작업 개시 조건에 기초해서 개시된 동기 작업인지의 여부를 판정한다. 판정의 결과, 실행될 동기 통신이, 동기 작업 개시 조건에 기초해서 개시된 동기 작업인 경우(단계 S1210에서, 예)에는, 처리는 단계 S1220으로 진행한다. 그렇지 않았을 경우(단계 S1210에서, 아니오)에는, 처리는 단계 S1230으로 진행한다. 단계 S1220에 있어서, 제어 유닛(321)은, 강제 킵-얼라이브 플래그(1101)를 온으로 설정하고, 처리는 단계 S1230으로 진행한다. 단계 S1230에 있어서, 제어 유닛(321)은, 동기 작업에 포함되고 미실시된 1개의 동기 요구를 판독하고, 처리는 단계 S500으로 진행한다. 단계 S500에서 판정이 아니오인 경우, 단계 S1240에 있어서, 통신 처리 유닛(322)은, 강제 킵-얼라이브 플래그(1101)의 값을 취득하고, 플래그가 온인지의 여부를 판정한다. 플래그가 온인 경우(단계 S1240에서, 예), 처리는 단계 S550으로 진행한다. 단계 S550에서, 통신 처리 유닛(322)은, 킵-얼라이브 통신 요구를 포함하는 동기 요구를 서버 애플리케이션(400)에 송신하고, 이러한 송신을 제어 유닛(321)에 통지한다. 그 다음, 처리는 단계 S1250으로 진행한다. 단계 S1250에 있어서, 제어 유닛(321)은, 동기 작업이 미실시된 동기 요구를 포함하고 있는지의 여부를 판정한다. 판정의 결과, 미실시된 동기 요구가 포함되어 있는 경우(단계 S1250에서, 예), 처리는 단계 S1230으로 진행한다. 미실시된 동기 요구가 포함되어 있지 않는 경우(단계 S1250에서, 아니오), 처리는 단계 S1260으로 진행한다. 단계 S1260에 있어서, 제어 유닛(321)은, 동기 작업이 완료된 것으로 판정한다. 그 다음, 제어 유닛(321)은, 강제 킵-얼라이브 플래그(1101)를 오프로 설정하고, 이러한 플로우는 종료된다.
본 실시예에 따르면, 클라이언트로서의 다기능 주변 장치(120)와 서버(110)가 일체로 된 장치로서 구성되고, 연속한 복수의 통신을 수반하는 동기 처리를 실행하는 경우에서도, 처리를 빠르게 실행할 수 있게 된다.
다른 실시예
본 발명의 실시예(들)는 또한 저장 매체(이는 더 완전하게는 '일시적 컴퓨터 판독 가능 저장 매체'로서 지칭될 수도 있음)에 기록된 컴퓨터 실행 가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독하고 실행하여, 하나 이상의 상기 실시예(들)의 기능을 수행하고, 및/또는 하나 이상의 상기 실시예(들)의 기능을 수행하기 위한 하나 이상의 회로(예를 들어, 주문형 집적 회로 (ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어, 하나 이상의 상기 실시예(들)의 기능을 수행하기 위해 상기 저장 매체로부터 컴퓨터 실행 가능 명령을 판독하고 실행함으로써 및/또는 하나 이상의 상기 실시예(들)의 기능을 수행하기 위해 하나 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 수행된 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(CPU), 마이크로 처리 장치(MPU))를 포함할 수 있으며, 컴퓨터 실행 가능 명령어를 판독하고 실행하기 위해 별도의 컴퓨터 또는 개별 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행 가능 명령어들은 예를 들어, 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산 컴퓨팅 시스템의 저장 장치, 광학 디스크(예를 들어, 콤팩트 디스크(CD), DVD(digital versatile disc), 또는 BDTM(Blu-ray Disc)), 플래시 메모리 장치, 메모리 카드, 등에서 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시예의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 판독하여 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명은 예시적인 실시예를 참조하여 설명되었지만, 본 발명은 개시된 예시적인 실시예에 한정되지 않는다는 것을 이해해야 한다. 다음의 특허 청구 범위는 이러한 모든 수정 및 균등 구조 및 기능을 포함하도록 가장 넓게 해석되어야 한다.

Claims (14)

  1. 정보 처리 장치로서,
    상기 정보 처리 장치와 통신하도록 구성된 서버와 상기 정보 처리 장치 간의 통신 커넥션을 확립하는 처리를 수행하기 위한 통신 제어 수단;
    상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하기 위한 판정 수단; 및
    상기 서버와 상기 정보 처리 장치 간의 통신 커넥션의 유지에 관하여, 상기 판정 수단에 의한 판정 결과에 따라 상이한 유형의 제어를 수행하기 위한 제어 수단을 포함하는, 정보 처리 장치.
  2. 제1항에 있어서, 상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치라는 상기 판정 수단의 판정에 기초하여, 상기 제어 수단은, 상기 서버의 클라이언트로서의 상기 정보 처리 장치가 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하게 하는 제어를 수행하는, 정보 처리 장치.
  3. 제1항 또는 제2항에 있어서, 상기 서버와 상기 정보 처리 장치가 상이한 장치들이라는 상기 판정 수단의 판정에 기초하여, 상기 제어 수단은, 상기 정보 처리 장치가 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보를 상기 서버에 통지하게 하는 제어를 수행하는, 정보 처리 장치.
  4. 정보 처리 장치로서,
    서버와의 통신 커넥션을 확립하는 처리를 수행하기 위한 통신 제어 수단;
    상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하기 위한 판정 수단; 및
    상기 판정 수단의 판정 결과에 따라, 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보 또는 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하는 통지 수단을 포함하는, 정보 처리 장치.
  5. 제4항에 있어서, 상기 서버와 상기 정보 처리 장치가 상이한 장치들이라는 상기 판정 수단의 판정에 기초하여, 상기 통지 수단은, 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보를 상기 서버에 통지하는, 정보 처리 장치.
  6. 제4항 또는 제5항에 있어서, 상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치라는 판정 수단의 판정에 기초하여, 상기 통지 수단은, 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하는, 정보 처리 장치.
  7. 제4항 또는 제5항에 있어서, 상기 정보 처리 장치의 설정 정보를 관리하기 위한 관리 수단을 더 포함하고,
    상기 통신 제어 수단은, 적어도, 상기 관리 수단에 의해 관리되는 상기 설정 정보의 갱신 내용을 나타내는 제1 갱신 정보를 상기 서버에 통지하는 통지 처리, 또는 상기 서버에 의해 관리되는 설정 정보의 갱신 내용을 나타내는 제2 갱신 정보를 상기 서버로부터 취득하는 취득 처리를 수행하도록 상기 서버와의 커넥션을 확립하는, 정보 처리 장치.
  8. 제7항에 있어서, 상기 통신 제어 수단은, 상기 제1 갱신 정보를 상기 서버에 통지하는 통지 처리 및 상기 제2 갱신 정보를 상기 서버로부터 취득하는 취득 처리를 수행하고,
    상기 통지 수단은, 상기 통신 제어 수단에 의해 수행되는 처리가 상기 통지 처리라고 상기 판정 수단이 판정하고 또한 상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치라고 상기 판정 수단이 판정하는 경우에, 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보를 상기 서버에 통지하고,
    상기 통지 수단은, 상기 통신 제어 수단에 의해 수행되는 처리가 상기 취득 처리라고 상기 판정 수단이 판정하고 또한 상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치라고 상기 판정 수단이 판정하는 경우에, 상기 통신 제어 수단에 의해 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하는, 정보 처리 장치.
  9. 제7항에 있어서, 상기 통지 수단은, 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보를, 상기 제2 갱신 정보를 취득하기 위한 요구와 함께 또는 상기 제1 갱신 정보와 함께 상기 서버에 통지하는, 정보 처리 장치.
  10. 제7항에 있어서, 상기 통지 수단은, 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를, 상기 제2 갱신 정보를 취득하기 위한 요구와 함께 또는 상기 제1 갱신 정보와 함께 상기 서버에 통지하는, 정보 처리 장치.
  11. 정보 처리 장치의 제어 방법으로서,
    상기 정보 처리 장치와 통신하도록 구성된 서버와 상기 정보 처리 장치 간의 통신 커넥션을 확립하는 처리를 수행하는 통신 제어 단계;
    상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하는 판정 단계; 및
    상기 서버와 상기 정보 처리 장치 간의 통신 커넥션의 유지에 관하여, 상기 판정 단계에 의한 판정 결과에 따라 상이한 유형의 제어를 수행하는 제어 단계를 포함하는, 정보 처리 장치의 제어 방법.
  12. 정보 처리 장치의 제어 방법으로서,
    서버와의 통신 커넥션을 확립하는 처리를 수행하는 통신 제어 단계;
    상기 정보 처리 장치가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하는 판정 단계; 및
    상기 판정 단계의 판정 결과에 따라, 상기 통신 제어 단계에서 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보 또는 상기 통신 제어 단계에서 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하는 통지 단계를 포함하는, 정보 처리 장치의 제어 방법.
  13. 컴퓨터가 프로세스들을 실행하게 하는, 저장 매체에 저장된 컴퓨터 프로그램으로서,
    컴퓨터와 통신하도록 구성된 서버와 상기 컴퓨터 간의 통신 커넥션을 확립하는 처리를 수행하는 통신 제어 프로세스;
    상기 컴퓨터가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하는 판정 프로세스; 및
    상기 서버와 상기 컴퓨터 간의 통신 커넥션의 유지에 관하여, 상기 판정 프로세스에서의 판정 결과에 따라 상이한 유형의 제어를 수행하는 제어 프로세스를 포함하는, 저장 매체에 저장된 컴퓨터 프로그램.
  14. 컴퓨터가 프로세스들을 실행하게 하는, 저장 매체에 저장된 컴퓨터 프로그램으로서,
    서버와의 통신 커넥션을 확립하는 처리를 수행하는 통신 제어 프로세스;
    상기 컴퓨터가 상기 서버와 일체로 구성된 장치인지의 여부를 판정하는 판정 프로세스; 및
    상기 판정 프로세스의 판정 결과에 따라, 상기 통신 제어 프로세스에서 확립된 상기 통신 커넥션을 상기 서버가 유지하게 하는 정보 또는 상기 통신 제어 프로세스에서 확립된 상기 통신 커넥션을 상기 서버가 해제하게 하는 정보를 상기 서버에 통지하는 통지 프로세스를 포함하는, 저장 매체에 저장된 컴퓨터 프로그램.
KR1020200060412A 2016-03-31 2020-05-20 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램 KR102138041B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2016-072593 2016-03-31
JP2016072593 2016-03-31
JP2017010751A JP6794281B2 (ja) 2016-03-31 2017-01-24 情報処理装置、情報処理装置の制御方法、及び、プログラム
JPJP-P-2017-010751 2017-01-24

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040430A Division KR102115488B1 (ko) 2016-03-31 2017-03-30 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램

Publications (2)

Publication Number Publication Date
KR20200059205A KR20200059205A (ko) 2020-05-28
KR102138041B1 true KR102138041B1 (ko) 2020-07-27

Family

ID=60044074

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170040430A KR102115488B1 (ko) 2016-03-31 2017-03-30 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램
KR1020200060412A KR102138041B1 (ko) 2016-03-31 2020-05-20 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020170040430A KR102115488B1 (ko) 2016-03-31 2017-03-30 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램

Country Status (3)

Country Link
JP (1) JP6794281B2 (ko)
KR (2) KR102115488B1 (ko)
CN (2) CN113542425B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7024602B2 (ja) * 2018-05-23 2022-02-24 コニカミノルタ株式会社 画像処理装置、ネットワーク接続方法およびネットワーク接続プログラム
JP7309422B2 (ja) * 2019-04-08 2023-07-18 キヤノン株式会社 通信装置、その制御方法、およびそのプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050030582A1 (en) * 2003-08-05 2005-02-10 Yu Xu Multi-function printer system, a multi-function printer, a server, and a method and program for reducing a environmental load
US20100100590A1 (en) 2008-10-21 2010-04-22 Palay Andrew J Always ready client/server data synchronization
US20110292975A1 (en) 2009-11-27 2011-12-01 Murata Machinery, Ltd. Network Device
US20140156725A1 (en) 2012-12-01 2014-06-05 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent http-based communications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8319989B2 (en) * 2006-02-21 2012-11-27 Ricoh Company, Ltd. Image processing apparatus for processing and communicating with an information processing apparatus which does not have an image processing apparatus driver software
JP5274294B2 (ja) * 2009-02-18 2013-08-28 キヤノン株式会社 情報処理装置及びその制御方法、並びに画像処理装置及びその制御方法
JP2010244464A (ja) * 2009-04-09 2010-10-28 Canon Inc 情報処理装置、ネットワークインターフェース装置、それらの制御方法、プログラム
JP5701041B2 (ja) * 2010-12-15 2015-04-15 キヤノン株式会社 サーバ装置、画像処理システム、サーバ装置の制御方法、及びプログラム
JP6130675B2 (ja) * 2013-01-18 2017-05-17 キヤノン株式会社 画像形成装置、サーバ、画像形成システム及び画像形成システムの制御方法
JP6243654B2 (ja) * 2013-08-05 2017-12-06 キヤノン株式会社 通信システム、情報処理装置とその制御方法、及びプログラム
JP5679078B1 (ja) * 2014-02-04 2015-03-04 富士ゼロックス株式会社 データ保存システム、画像処理装置、およびプログラム
JP6364866B2 (ja) * 2014-03-27 2018-08-01 富士通株式会社 端末装置、通信制御システム及び通信制御方法
JP6318959B2 (ja) * 2014-08-01 2018-05-09 京セラドキュメントソリューションズ株式会社 情報処理システム及び情報処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050030582A1 (en) * 2003-08-05 2005-02-10 Yu Xu Multi-function printer system, a multi-function printer, a server, and a method and program for reducing a environmental load
US20100100590A1 (en) 2008-10-21 2010-04-22 Palay Andrew J Always ready client/server data synchronization
US20110292975A1 (en) 2009-11-27 2011-12-01 Murata Machinery, Ltd. Network Device
US20140156725A1 (en) 2012-12-01 2014-06-05 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent http-based communications

Also Published As

Publication number Publication date
JP6794281B2 (ja) 2020-12-02
CN113542425A (zh) 2021-10-22
CN107277099B (zh) 2021-07-23
JP2017188076A (ja) 2017-10-12
CN107277099A (zh) 2017-10-20
KR20200059205A (ko) 2020-05-28
KR102115488B1 (ko) 2020-05-26
KR20170113382A (ko) 2017-10-12
CN113542425B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
US10148852B2 (en) Image processing system, control apparatus, image processing apparatus, and methods of controlling these
JP5377091B2 (ja) 情報処理装置及びその制御方法
KR102138041B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 프로그램
US9497298B2 (en) Information processing apparatus, network interface device, control method therefor, and storage medium
US20130314735A1 (en) System, image forming apparatus, server, and control method thereof
JP5772807B2 (ja) 印刷システム及び画像形成装置並びに代理応答方法並びにプログラム
US20140368862A1 (en) Information processing apparatus, information processing system, controlling method thereof, and program
JP2008186238A (ja) 電源管理方法、管理システム、クライアントサーバシステム、電源制御画面の表示方法及び表示システム
JP6204821B2 (ja) 画像形成装置、その制御方法、及びプログラム
US10326906B2 (en) Management apparatus and control method
EP3226104B1 (en) Efficient transition to power saving mode respecting connection state with server
JP6442230B2 (ja) 情報処理装置、同期制御方法、及びプログラム
JP2016016579A (ja) 情報処理装置及びその制御方法、情報処理システム
JP2016020034A (ja) 情報処理装置及びその制御方法、並びにプログラム
US10558404B2 (en) Printing apparatus, control method, and storage medium
US20130250355A1 (en) Image forming apparatus, address setting method, and storage medium storing program
JP7110739B2 (ja) 通信制御装置、通信制御プログラム及びネットワーク通信システム
JP6378813B2 (ja) 印刷装置と情報処理方法、及びプログラム
JP2024036076A (ja) 情報処理装置及びプログラム
JP2016163205A (ja) 画像処理装置およびプログラム
JP2019133438A (ja) 情報処理装置及びその制御方法、プログラム
JP2016082334A (ja) 画像処理装置、サーバ装置、情報処理方法及びプログラム
JP6536050B2 (ja) 通信システム、制御装置、通信方法、およびコンピュータプログラム
JP2023084817A (ja) 情報処理装置、情報処理方法及びプログラム
JP2020155897A (ja) 電子黒板、電子黒板管理システム及び電子黒板管理方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant