상기 제1 과제를 이루기 위해, 스캐닝 작업을 적어도 포함하는 K(여기서, K≥1)개의 작업을 수행하며 네트워크를 통해 M(여기서, M≥1)개의 클라이언트에 의해 공유되는 N(여기서, N≥1)개의 서버와 상기 M개의 클라이언트간에, 상기 네트워크를 통해 전송되는 전송 패킷을 이용하여, 상기 작업을 수행하기 위한 본 발명에 의한 통신 방법은, 상기 서버 자체 및 상기 작업과 관련된 속성들중에서 원하는 속성(들)을 갖는 서버를 발견하는 단계와, 상기 발견된 서버의 현재 상태를 체크하는 단계와, 상기 체크된 상태를 이용하여 정보를 수신할 수 있는 서버를 선별하고, 상기 선별된 서버에게 이벤트를 비동기적으로 통보해줄 것을 요구하는 단계 및 상기 작업을 수행하는 단계로 이루어지고, 상기 전송 패킷은, 상기 전송 패킷의 버젼 번호를 나타내는 버젼 정보를 갖는 버젼 필드와, 전송되는 상기 패킷의 발생 형태를 나타내는 패킷 형태 표시 정보를 갖는 패킷 형태 표시 필드와, 상기 K개의 작업중, 상기 패킷을 사용하는 작업의 형태를 나타내는 작업 형태 표시 정보를 갖는 작업 형태 표시 필드와, 상기 작업의 속성과 관련된 제1 정보와 상기 작업의 데이타와 관련된 제2 정보중 적어도 하나를 갖는 속성 그룹 필드 및/또는 데이타 그룹 필드 및 상기 전송 패킷의 끝을 나타내는 끝 정보를 갖는 끝 필드로 구성되는 것이 바람직하다.
상기 제2 과제를 이루기 위해, 스캐닝 작업을 적어도 포함하는 K(여기서, K≥1)개의 작업을 수행하며 네트워크를 통해 M(여기서, M≥1)개의 클라이언트에 의해 공유되는 N(여기서, N≥1)개의 서버 및 상기 N개의 서버와 전송 패킷을 이용하여 상기 작업의 수행에 관한 통신을 행하는 상기 M개의 클라이언트를 갖는 본 발명에 의한 통신 장치는, 상기 서버 자체 및 상기 작업과 관련된 속성들중에서 원하는 속성(들)을 방송하여 상기 원하는 속성(들)을 갖는 상기 서버가 자신을 밝힐 것을 요구하고, 상기 자신을 밝힌 서버의 현재 상태를 체크하기 위한 요구를 발생하고, 상기 체크된 상태를 이용하여 정보를 수신할 수 있는 서버를 선별하고, 상기 선별된 서버에게 이벤트를 비동기적으로 통보해줄 것을 요구하는 요구를 발생하고, 상기 작업의 수행에 필요한 속성 및 데이타를 상기 서버로 전송하는 클라이언트 및 자신이 상기 원하는 속성(들)을 가지고 있는가를 응답하고, 상기 현재 상태의 요구에 응답하고, 상기 이벤트의 비동기적 통보의 요구에 응답하고, 상기 작업의 수행에 필요한 상기 속성 및 상기 데이타를 전송받아 상기 작업을 수행하는 서버로 구성되고, 상기 전송 패킷은 상기 전송 패킷의 버젼 번호를 나타내는 버젼 정보를 갖는 버젼 필드와, 전송되는 상기 패킷의 발생 형태를 나타내는 패킷 형태 표시 정보를 갖는 패킷 형태 표시 필드와, 상기 K개의 작업중, 상기 패킷을 사용하는 작업의 형태를 나타내는 작업 형태 표시 정보를 갖는 작업 형태 표시 필드와, 상기 작업의 상기 속성과 관련된 제1 정보와 상기 작업의 상기 데이타와 관련된 제2 정보중 적어도 하나를 갖는 속성 그룹 필드 및/또는 데이타 그룹 필드 및 상기 전송 패킷의 끝을 나타내는 끝 정보를 갖는 끝 필드로 구성되는 것이 바람직하다.
이하, 본 발명에 의한 네트워크를 통한 다기능 수행을 위한 전송 패킷을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명의 실시예에 의한 전송 패킷이 전송되는 상황을 설명하기 위한 도면으로서, 제1 ∼ 제M 클라이언트(client)(여기서,M≥1) (10, ... 및 12), 네트워크(14) 및 제1 ∼ 제N 서버(server)(여기서, N≥1)(16, ... 및 18)로 구성된다. 네트워크(14)는 무선 및 유선 네트워크들중 하나가 될 수 있다.
도 1을 참조하면, 제1 ∼ 제N 서버(16, ... 및 18) 각각은 K(여기서, K≥1)개의 작업을 수행하며, 네트워크(14)를 통해 제1 ∼ 제M 클라이언트(10, ... 및 12)에 의해 공유된다. 여기서, 본 발명에 의하면, K개의 작업들은 적어도 하나의 스캐닝 작업을 포함한다. 각 서버(16, ... 또는 18)에서 수행되는 작업이란, 스캐닝 작업, 팩싱 작업, 프린팅 작업, 복사 작업 또는 데이타 전송 작업등을 의미한다. 이 때, 네트워크(14)를 통해 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)간에 다기능 수행을 위해 전송되는 본 발명에 의한 전송 패킷에 대해 살펴보면 다음과 같다.
도 2는 본 발명에 의한 전송 패킷의 포맷을 나타내는 도면으로서, 버젼 필드(version field)(20), 패킷(packet) 형태 표시 필드(22), 작업 형태 표시 필드(24), 속성 그룹 필드(26), 데이타 그룹 필드(28) 및 끝 필드(30)로 구성된다.
도 2를 참조하면, 버젼 필드(20)는 패킷의 버젼 번호를 나타내는 버젼 정보를 갖는다. 예를 들면, 버젼 필드(20)는 2바이트로 이루어질 수 있으며, 이 경우, 첫 번째 바이트는 메이져 버젼 번호(major version number)를 나타내는 버젼 정보에 해당하고, 두 번째 바이트는 마이너 버젼 번호(minor version number)를 나타내는 버젼 정보에 해당한다.
패킷 형태 표시 필드(22)는 전송되는 패킷의 발생 형태 즉, 패킷이 무슨 용도로 발생되었는가를 나타내는 패킷 형태 표시 정보를 갖는다. 여기서, 패킷 형태 표시 정보에 나타나는 패킷의 발생 형태는 요구(request)용, 응답(reseponse)용 및 트랩(trap)용중 적어도 하나에 해당할 수 있다. 이와 같이, 클라이언트(10, ... 또는 12)에서 서버(16, ... 또는 18)로 또는 서버(16, ... 또는 18)에서 클라이언트(10, ... 또는 12)로, 전송 패킷은 소정의 행위를 요구하기 위한 요구용으로 발생할 수도 있고 소정의 행위의 요구에 대해 응답을 하기 위한 응답용으로 발생할 수도 있다. 게다가, 전송 패킷은 클라이언트(10, ... 또는 12)에서 서버(16, ... 또는 18)로 소정 행위의 요구가 없었지만 일정한 사실을 서버(16, ... 또는 18)가 클라이언트(10, ... 또는 12)에게 알리기 위한 트랩용으로 발생될 수도 있다. 또한, 패킷은 요구용, 응답용 및 트랩용중 적어도 두 개의 복합적인 용도로도 발생될 수도 있다. 즉, 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로의 요구에 응답하는 응답용 전송 패킷에 트랩용 정보가 실려서 서버(16, ... 또는 18)로부터 클라이언트(10, ... 또는 12)로 전송될 수도 있다. 따라서, 서버(16, ... 또는 18)로부터 클라이언트(10, ... 또는 12)로 요구나 응답을 할 때 트랩으로 에러를 보고할 수도 있다.
예를 들어, 패킷 형태 표시 필드(22)가 1바이트로 이루어질 때, 패킷 형태 표시 정보는 다음 표 1과 같이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
패킷 형태 표시 정보 |
0x01 |
요구용 |
0x02 |
응답용 |
0x04 |
트랩용 |
여기서, "0x"는 후속하는 값 '01', '02' 및 '04'가 헥사(hexa)값임을 나타낸다.
도 2에 도시된 작업 형태 표시 필드(24)는 각 서버가 갖는 K개의 작업중에서 패킷을 사용하는 작업의 형태를 나타내는 작업 형태 표시 정보를 갖는다. 예를 들어, 작업 형태 표시 필드(24)가 1 바이트로 이루어질 때, 작업 형태 표시 정보는 다음 표 2와 같이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
작업 형태 표시 정보 |
0x01 |
프린팅용 |
0x02 |
스캐닝용 |
0x04 |
팩싱용 |
0x08 |
복합기(MFP)용 세트 자체 작업 제어용 |
0xFF |
프린팅, 스캐닝 및 팩싱 작업과 같은 모든 작업 제어용 |
속성 그룹 필드(attitude group field)(26)는 서버에서 수행될 작업의 속성과 관련된 제1 정보를 갖고, 데이타 그룹 필드(28)는 서버에서 수행될 작업을 위한 데이타와 관련된 제2 정보를 갖는다. 본 발명에 의하면, 도 2에 도시된 패킷은 속성 그룹 필드(26)와 데이타 그룹 필드(28)중 적어도 하나를 가질 수 있다. 즉, 본 발명에 의한 전송 패킷은 속성 그룹 필드(26)만을 갖거나 데이타 그룹 필드(28)만을 갖거나 속성 그룹 필드(26)와 데이타 그룹 필드(28)를 모두 가질 수 있다.
이하, 속성 그룹 필드(26)의 본 발명에 의한 바람직한 일 실시예의 포맷을 다음과 같이 설명한다.
도 3은 도 2에 도시된 속성 그룹 필드(26)의 본 발명에 의한 바람직한 일 실시예(26A)의 포맷으로서, 속성 형태 표시 필드(40) 및 속성 필드(42)로 구성된다.
도 3에 도시된 속성 형태 표시 필드(40)는 속성에 관련된 작업의 형태를 나타내는 속성 형태 표시 정보를 갖는다. 여기서, 속성 형태 표시 정보는 작업의 제어 속성, 서버(16, ... 또는 18)의 상태 및 서버(16, ... 또는 18)의 정보 속성들중 적어도 하나를 나타낼 수 있으며, 전술한 제1 정보는 작업에 대한 속성 및 속성 형태 표시 정보를 포함한다. 예를 들면, 속성 형태 표시 필드(40)가 1 바이트로 이루어지고 각 서버(16, ... 또는 18)에서 수행될 수 있는 작업이 프린팅, 스캐닝 또는 팩싱 작업이라고 할 때, 속성 형태 표시 정보의 리스트는 다음 표 3이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
속성 형태 표시 정보 |
0x01 및 0x02 |
향후 이용되기 위해 유보됨 |
0x03 |
서버의 제어 속성들 |
0x04 |
서버의 상태 속성들 |
0x05 |
서버의 정보 속성들 |
0x06 ∼ 0x0F |
다른 서버의 속성들을 위해 유보됨 |
0x11 |
프린팅 작업 속성들 |
0x12 |
프린팅 작업 제어 속성들 |
0x13 |
프린팅 제어 속성들 |
0x14 |
프린팅 상태 속성들 |
0x15 |
프린팅 정보 속성들 |
0x16 ∼ 0x1F |
다른 프린팅의 속성들을 위해 유보됨 |
0x20 |
스캐닝 속성들을 위해 유보됨 |
0x21 |
스캐닝 작업 속성들 |
0x22 |
스캐닝 작업 제어 속성들 |
0x23 |
스캐닝 제어 속성들 |
0x24 |
스캐닝 상태 속성들 |
0x25 |
스캐닝 정보 속성들 |
0x26 ∼ 0x2F |
다른 스캐닝 속성들을 위해 유보됨 |
0x30 |
팩싱 속성들을 위해 유보됨 |
0x31 |
팩싱 작업 속성들 |
0x32 |
팩싱 작업 제어 속성들 |
0x33 |
팩싱 제어 속성들 |
0x34 |
팩싱 상태 속성들 |
0x35 |
팩싱 정보 속성들 |
0x36 ∼ 0x3F |
다른 팩싱 속성들을 위해 유보됨 |
0x40 ∼ 0xFF |
향후 이용되기 위해 유보됨 |
표 3에서, 프린팅 작업 속성들, 스캐닝 작업 속성들 및 팩싱 작업 속성들은 프린팅, 스캐닝 및 팩싱 작업들을 각각 수행하기 위한 값들을 설정하기 위해 사용된다. 또한, 프린팅 작업 제어 속성들, 스캐닝 작업 제어 속성들 및 팩싱 작업 제어 속성들은 프린팅, 스캐닝 및 팩싱 작업들을 각각 제어하거나 작업의 우선 순위를 변화시키는 등 작업 그 자체를 제어하기 위해 사용된다. 게다가, 서버 제어 속성들, 프린팅 제어 속성들, 스캐닝 제어 속성들 및 팩싱 제어 속성들은 서버(16, ... 또는 18)를 제어하기 위해 사용된다. 서버의 상태 속성들, 프린팅 상태 속성들, 스캐닝 상태 속성들 및 팩싱 상태 속성들은 서버(16, ... 또는 18)나 클라이언트(10, ... 또는 12)의 상태를 물어보기 위해서 사용된다. 서버의 정보 속성들, 프린팅 정보 속성들, 스캐닝 정보 속성들 및 팩싱 정보 속성들은 클라이언트(10, ... 또는 12)나 서버(16, ... 또는 18)의 정보를 묻기 위해 사용된다.
본 발명에 의하면, 표 3으로부터 알 수 있듯이, 속성 형태 표시 필드(40)는 사용이 결정되지 않고 유보된 적어도 하나의 필드를 갖는다.
이하, 속성 필드(42)의 본 발명에 의한 바람직한 일 실시예의 포맷을 다음과 같이 설명한다.
도 4는 도 3에 도시된 속성 필드(42)의 본 발명에 의한 바람직한 일 실시예(42A)의 포맷으로서, 속성 이름 길이 필드(60), 속성 이름 필드(62), 속성 데이타 형태 필드(64), 속성 데이타 길이 필드(66) 및 속성 데이타 필드(68)로 구성된다.
도 4를 참조하면, 속성 이름 필드(62)는 속성의 이름을 가지며, 예를 들면 1 ∼ 65535 바이트들로 이루어질 수 있다. 이 때, 속성 이름 길이 필드(60)는 속성 이름 필드(62)가 갖는 속성 이름의 길이를 나타내며, 예를 들면, 2 바이트로 이루어질 수 있다. 속성 데이타 필드(68)는 속성에 관련된 속성 데이타를 가지며, 예를 들면 1 ∼ 65535 바이트들로 이루어질 수 있다. 속성 데이타 형태 필드(64)는 속성 데이타 필드(68)가 갖는 속성 데이타의 형태를 나타내는 속성 데이타 형태 정보를 갖는다. 예를 들면, 속성 데이타 형태 필드(64)가 1 바이트로 이루어질 때, 속성 데이타 형태 정보의 리스트는 다음 표 4이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
속성 데이타 형태 정보 |
0x01 |
부호를 갖는 바이트(byte) |
0x02 |
부호를 갖지 않은 바이트 |
0x03 |
부호를 갖는 워드(word) |
0x04 |
부호를 갖지 않은 워드 |
0x05 |
부호를 갖는 롱(long) |
0x06 |
부호를 갖지 않은 롱 |
0x07 |
부호를 갖는 플롯(float) |
0x08 |
부호를 갖지 않은 플롯 |
0x09 |
끝에 널 바이트를 갖는 스트링(string) |
0x0A |
네트워크 인터넷 프로토콜(IP:Internet Protocol) 어드레스를 위한 IP 어드레스 형태 |
0x0B |
일련의 바이트들 |
0x0C |
일련의 2개의 바이트 캐릭터들 |
0x0D |
일련의 유니코드(unicode)들 |
여기서, 속성 데이타 형태 정보가 바이트, 워드, 롱 또는 플롯이라는 것은 속성 데이타 필드(68)가 갖는 속성 데이타를 1, 2, 4 또는 8 바이트 단위로 각각 끊어서 해석해야 유효한 메시지를 얻을 수 있음을 나타낸다. 이와 같이, 표 4로부터 알 수 있듯이, 속성 데이타 형태 필드(64)가 갖는 속성 데이타 형태 정보는 속성 데이타 필드(68)에 포함되는 속성 데이타가 부호(sign)를 갖는가 부호를 갖지 않는가를 나타내며, 유효한 메시지를 표현하는 속성 데이타의 유효 길이 즉, 1, 2 4 또는 8 바이트 따위를 나타내기도 한다. 이 때, 속성 데이타 길이 필드(66)는 속성 데이타 필드(68)가 갖는 속성 데이타의 길이에 대한 정보를 가지며, 예를 들면 2바이트로 이루어질 수 있다.
이하, 도 2에 도시된 데이타 그룹 필드(28)의 본 발명에 의한 바람직한 일 실시예의 포맷을 다음과 같이 설명한다.
도 5는 도 2에 도시된 데이타 그룹 필드(28)의 본 발명에 의한 바람직한 일 실시예(28A)의 포맷을 나타내는 도면으로서, 데이타 형태 표시 필드(80) 및 데이타 필드(82)로 구성된다.
도 5에 도시된 데이타 형태 표시 필드(80)는 데이타 필드(82)가 갖는 데이타를 사용하는 작업의 형태를 나타내는 데이타 작업 형태 정보를 갖는다. 예를 들어, 데이타 작업 형태 정보가 1바이트로 이루어지고, 각 서버(16, ... 또는 18)에서 수행될 수 있는 작업이 프린팅, 스캐닝 또는 팩싱 작업이라고 할 때, 데이타 작업 형태 정보는 다음 표 5와 같이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
데이타 작업 형태 정보 |
0x80 |
작업 전체 |
0x81 ∼ 0x8F |
향후 이용되기 위해 유보됨 |
0x90 |
프린팅 작업 |
0x91 ∼ 0x9F |
향후 이용되기 위해 유보됨 |
0xA0 |
스캐닝 작업 |
0xA1 ∼ 0xAF |
향후 이용되기 위해 유보됨 |
0xB0 |
팩싱 작업 |
0xB1 ∼ 0xFF |
향후 이용되기 위해 유보됨 |
본 발명에 의하면, 표 5로부터 알 수 있듯이, 데이타 형태 표시 필드(80)는 사용이 결정되지 않고 향후 이용되기 위해 유보된 적어도 하나의 필드를 가질 수 있다.
도 5에 도시된 데이타 필드(82)는 데이타에 관한 제3 정보 및 데이타 그 자체를 갖는다. 이 때, 제3 정보 및 데이타 작업 형태 정보는 전술한 제2 정보에 해당한다.
이하, 도 5에 도시된 데이타 필드(82)의 본 발명에 의한 바람직한 일 실시예의 포맷을 다음과 같이 설명한다.
도 6은 도 5에 도시된 데이타 필드(82)의 본 발명에 의한 바람직한 일 실시예(82A)의 포맷을 나타내는 도면으로서, 데이타 외부 형태 표시 필드(100), 데이타순서 필드(102), 데이타 길이 필드(104) 및 데이타 부 필드(sub-field)(106)로 구성된다.
도 6에 도시된 데이타 부 필드(106)는 데이타 그 자체를 갖는다. 이 때, 데이타 외부 형태 표시 필드(100)는 데이타 부 필드(106)가 갖는 데이타의 외부 형태를 나타내는 데이타 외부 형태 정보를 갖는다. 예를 들어, 데이타 외부 형태 정보는 1 바이트로 이루어질 때, 다음 표 6과 같이 표현될 수 있다.
1 바이트에서 "고" 논리 레벨이 되는 위치 |
데이타 외부 형태 정보 |
0x01 |
텍스트(text) 형태 |
0x02 |
이진(binary) 형태 |
0x04 |
압축 형태 |
표 6으로부터 알 수 있듯이, 데이타 부 필드(106)가 갖는 데이타는 압축된 형태, 텍스트 형태 또는 이진 형태일수도 있고, 압축된 형태, 텍스트 형태 및 이진 형태중 적어도 두 개의 형태를 모두 취할 수도 있다. 예컨대, 데이타 부 필드(106)가 갖는 데이타는 압축된 이진 형태의 데이타일 수도 있고, 압축된 텍스트 형태의 데이타일 수도 있다.
도 6에 도시된 데이타 순서 필드(102)는 데이타 부 필드(106)가 분할된 데이타들을 가질 때, 분할된 데이타들의 분할전 순서를 나타내는 순서 정보를 가지며 예를 들면 2바이트로 이루어질 수 있다. 예컨대, 데이타는 분할되어 데이타 부 필드(106)에 저장될 수 있다. 이 경우, 순서 정보는 데이타가 분할된 순서를 나타낸다. 이 때, 데이타 길이 필드(104)는 데이타 부 필드(106)가 갖는 데이타의 길이에 대한 데이타 길이 정보를 가지며, 예를 들면 4 바이트로 이루어질 수 있다.
도 6에 도시된 데이타 외부 형태 표시 필드(100)가 갖는 데이타 외부 형태 정보, 데이타 길이 필드(104)가 갖는 데이타 길이 정보 및 데이타 순서 필드(102)가 갖는 순서 정보는 제3 정보에 해당한다.
한편, 도 2에 도시된 끝 필드(30)는 패킷의 끝을 나타내는 끝 정보를 가지며, 예를 들면 1 바이트로 이루어질 수 있고, 0x00으로 표현될 수 있다.
이하, 전술한 전송 패킷을 이용한 본 발명에 의한 다기능을 수행하기 위한 통신 방법의 실시예 및 그 방법을 수행하는 통신 장치의 구성 및 동작을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 7은 전술한 전송 패킷을 이용하여 다기능에 해당하는 작업(들)을 수행하기 위한 본 발명에 의한 통신 방법의 실시예를 설명하기 위한 플로우차트로서, 원하는 속성(들)을 갖는 서버를 발견하는 단계(제120 단계), 발견된 서버중에서 선별된 서버에게 비동기적 이벤트의 통보를 요구하는 단계(제122 ∼ 제126 단계들) 및 작업을 수행하고 수행된 작업을 선택적으로 변경하는 단계(제128 및 제130 단계들)로 이루어진다.
전술한 본 발명에 의한 전송 패킷을 이용하여, 클라이언트와 서버간에 작업을 수행하기 위한 본 발명에 의한 통신 방법을 살펴보면, 먼저, 클라이언트(10, ... 또는 12)는 서버(16, ... 및/또는 18) 자체 및 서버에서 수행되는 작업과 관련된 속성들중에서 원하는 속성(들)을 갖는 서버를 제1 ∼ 제N 서버(16, ... 및 18)중에서 발견한다(제120 단계). 여기서, 서버 자체 및/또는 작업과 관련된 속성들이란, 각 서버(16, ... 또는 18)가 수행하는 작업의 개수, 서버(16, ... 및 18)가 존재하는 공간상 위치, 서버(16, ... 및 18)가 보안을 지원할 수 있는가의 여부, 서버(16, ... 및 18)가 사용되기 전에 인증받을 필요성이 있는가의 여부, 서버(16, ... 및 18)가 작업을 컬러로 수행하는가의 여부, 서버(16, ... 및 18)가 작업을 수행한 결과의 해상도 및 서버(16, ... 및 18)가 다룰 수 있는 종이의 크기중 적어도 하나를 의미한다. 클라이언트(10, ... 또는 12)의 필요에 의존하여 다른 속성들이 포함될 수 있다.
도 8은 도 7에 도시된 제120 단계에 대한 본 발명에 의한 바람직한 일 실시예(120A)를 설명하기 위한 플로우차트로서, 원하는 속성(들)을 방송하여 원하는 속성(들)을 갖는 서버(16, ... 또는 18)를 발견하는 단계(제150 및 제152 단계들)로 이루어진다.
클라이언트(10, ... 또는 12)는 원하는 속성(들)을 N개의 서버(16, ... 및 18)로 방송하여 원하는 속성(들)을 갖는 서버(16, ... 또는 18)가 자신을 밝힐 것을 요구한다(제150 단계). 제150 단계후에, 방송받은 N개의 서버(16, ... 및 18)는 자신이 원하는 속성(들)을 가지고 있는가의 여부를 클라이언트(10, ... 또는 12)에게 응답하고, 클라이언트(10, ... 또는 12)는 N개의 서버(16, ... 및 18)로부터 받은 응답을 통해 원하는 속성(들)을 갖는 서버(16, ... 또는 18)를 발견한다(제152 단계).
제120 단계후에, 클라이언트(10, ... 또는 12)는 발견된 서버(16, ... 또는 18)를 이용하여 작업 수행용 드라이버를 필요하다면 설치하는 한편, 작업 수행용 어플리케이션을 선택적으로 설치한다(제122 단계). 예를 들어, 클라이언트(10, ... 또는 12)는 프린팅 작업과 팩싱 작업등을 위해 클라이언트(10, ... 또는 12)는 필요한 드라이버를 반드시 설치할 필요가 있고, 스캐닝 작업을 위해 클라이언트(10, ... 또는 12)는 드라이버를 설치할 필요가 없다. 그러므로, 프린팅 작업, 팩싱 작업 및 스캐닝 작업을 위해 클라이언트는 어플리케이션을 선택적으로 설치 즉, 어플리케이션을 설치할 수도 있고 설치하지 않을 수도 있다. 예컨대, 클라이언트(10, ... 또는 12)는 설치할 필요성이 있는 작업 수행용 드라이버 및 작업 수행용 어플리케이션을 발견된 서버(16, ... 또는 18)에게 요구한다. 이 때, 발견된 서버(16, ... 또는 18)는 클라이언트(10, ... 또는 12)가 요구한 드라이버 및 필요한 어플리케이션을 파일이나 URL(Universal Resource Location) 형태로 클라이언트(10, ... 또는 12)에게 제공하고, 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)로부터 제공받은 정보에 따라 드라이버나 필요한 어플리케이션을 설치한다.
제122 단계후에, 클라이언트(10, ... 또는 12)는 자신이 원하는 속성(들)을 가지고 있다고 밝힌 즉, 발견된 서버(16, ... 또는 18)의 현재 상태를 체크한다(제124 단계). 즉, 클라이언트(10, ... 또는 12)는 발견된 서버(16, ... 또는 18)에게 그의 현재 상태를 요구하고, 요구를 받은 서버(16, ... 또는 18)는 자신의 현재 상태를 클라이언트(10, ... 또는 12)에게 응답한다. 이 때, 본 발명에 의하면, 클라이언트(10, ... 또는 12)는 현재 상태와 함께 서버(16, ... 및 18)의 능력도 체크할 수 있다. 여기서, 체크되는 현재 상태 및/또는 능력이란, 서버(16, ... 또는 18)가 갖는 능력들중에서 변경할 수 없는 능력, 종이가 떨어졌다는 따위의 서버(16, ... 또는 18)의 변화될 수 있는 상태, 이전에 클라이언트(10, ... 또는 12)가 서버(16, ... 또는 18)에게 요구하였던 작업의 존재 유무, 이전에 클라이언트(10, ... 또는 12)가 서버(16, ... 또는 18)에게 요구하였던 작업의 수행 상태 즉, 작업이 대기중인가 수행중인가 혹은 완료되었는가, 클라이언트(10, ... 또는 12)가 요구한 작업을 서버(16, ... 또는 18)에서 수행할 수 있는가의 여부, 클라이언트(10, ... 또는 12)가 요구한 작업의 처리 우선 순위 및 작업의 수행 횟수중 적어도 하나를 의미한다. 또한, 본 발명에 의하면, 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)간의 통신 방식과 무관하게 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)의 현재 상태를 동시에 체크할 수도 있다. 예컨대, 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)간의 통신이 일대일(point-to-point)로 이루어지는가 또는 다대다(multi-to-multi)로 이루어지는가에 무관하게 서버(16, ... 또는 18)의 현재 상태를 동시에 체크할 수 있다.
본 발명에 의하면, 도 7에 도시된 통신 방법은 제122 단계를 마련하지 않을 수도 있다. 즉, 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)간에 네트워크(14)를 통해 수행될 수 있는 작업중 스캐닝 작업이 수행될 경우, 클라이언트(10, ... 또는 12)는 드라이버를 설치할 필요가 없다. 따라서, 이 경우, 클라이언트(10, ... 또는 12)가 어플리케션을 설치할 필요가 없다면, 도 7에 도시된 방법은 제122 단계를 마련하지 않는다. 도 7에 도시된 방법이 제122 단계를 마련하지 않는다면, 제120 단계후에, 클라이언트는 발견된 서버의 현재 상태를 체크한다(제124 단계).
제124 단계후에, 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)의 체크된 현재 상태를 이용하여 정보를 수신할 수 있는 서버(16, ... 또는 18)를 선별하고, 선별된 서버(16, ... 또는 18)에게 이벤트를 비동기적으로 트랩 방식으로 통보해줄 것을 요구한다(제126 단계). 즉, 클라이언트(10, ... 또는 12)는 비동기적 통보를 서버(16, ... 또는 18)에 가입(subscribe)한다. 이 때, 서버(16, ... 또는 18)는 발생한 이벤트의 종류에 따라 이벤트를 클라이언트에게 달리 통보할 수 있다. 즉, 서버(16, ... 또는 18)는 클라이언트(10, ... 또는 12)에게 이벤트의 발생을 주기적 또는 간헐적으로 즉, 이벤트가 발생할 때마다 통보할 수도 있다. 여기서, 이벤트란, 서버(16, ... 또는 18)의 현재의 작업 상태들, 서버(16, ... 또는 18)가 수행하는 작업의 완료 여부, 작업이 수행된 결과의 존재 여부(즉, 스캐닝된 문서의 존재 여부나 팩싱에 의해 외부로부터 수신된 문서의 존재 여부), 치명적인 에러 따위로 인하여 작업을 수행할 때 필요한 정보를 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 재전송해야할 필요성의 대두 여부, 작업이 대기중에 작업에 영향을 미치는 상황 예를 들면 종이가 떨어졌다든지 토너가 고갈됐다든지하는 상황의 발생 여부 및 작업할 유용한 데이타의 생성 여부중 적어도 하나를 의미한다.
따라서, 이벤트의 비동기적 통보를 요구받은 서버(16, ... 또는 18)는 이벤트의 발생을 클라이언트(10, ... 또는 12)에게 통보한다. 이 때, 본 발명에 의하면, 이벤트가 발생하여 서버(16, ... 또는 18)가 이벤트를 통보할 때, 이벤트의 통보를 받지 않은 클라이언트(10, ... 또는 12)에 대한 등록된 정보는 서버(16, ... 또는 18)에서 삭제되도록 할 수도 있다.
제126 단계후에, 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)는 작업을 수행한다(제128 단계).
이하, 도 7에 도시된 제128 단계에 대한 본 발명에 의한 실시예들 각각을 첨부된 도면들을 참조하여 다음과 같이 설명한다.
도 9는 도 7에 도시된 제128 단계에 대한 본 발명에 의한 바람직한 일 실시예(128A)를 설명하기 위한 플로우차트로서, 작업의 수행을 요구하는 단계(제170 단계) 및 요구된 작업의 처리 가능 여부에 따라 작업을 수행하는 단계(제172 ∼ 제176 단계들)로 이루어진다.
제126 단계후에, 클라이언트(10, ... 또는 12)는 프린팅 작업 또는 팩싱 작업등과 같이 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 지시할 수 있는 작업의 수행을 서버(16, ... 또는 18)에게 요구한다(제170 단계). 제170 단계후에, 작업의 수행을 요구받은 서버(16, ... 또는 18)는 요구받은 작업의 처리 가능 여부를 클라이언트(10, ... 또는 12)에게 응답으로 알린다(제172 단계). 예컨대, 클리이언트(10, ... 또는 12)는 각 서버(16, ... 또는 18)에게 '어떠한 기능을 가지며', '가지고 있는 기능을 어느 정도로 수행할 수 있는가'등을 묻는다(제170 단계). 이에, 물음을 받은 각 서버(16, ... 또는 18)는 자신이 어느 기능을 어느 정도로 수행할 수 있는가에 대한 답변을 응답한다(제172 단계).
제172 단계후에, 클라이언트(10, ... 또는 12)는 작업의 처리 가능 여부에 대한 응답을 서버(16, ... 또는 18)로부터 받아 분석하여 서버(16, ... 또는 18)에서 작업의 처리가 가능한가를 판단하고, 작업의 처리가 가능한 것으로 판단되면, 서버(16, ... 또는 18)로 하여금 작업을 수행하도록 한다(제174 및 제176 단계들).
즉, 서버(16, ... 또는 18)에서 작업의 처리가 가능한 것으로 판단되면, 클라이언트(10, ... 또는 12)는 작업을 수행할 때 필요한 작업의 속성 및 작업용 데이타를 서버(16, ... 또는 18)로 제공한다(제174 단계). 이 때, 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 작업용 데이타가 전송되는 형태는, 파일 형태, 원시 데이타(raw data) 형태 또는 파일을 갖는 어드레스의 형태를 취할 수 있다.
제174 단계후에, 서버(16, ... 또는 18)는 제공받은 속성 및 작업용 데이타를 이용하여 작업을 수행한다(제176 단계).
도 10은 도 7에 도시된 제128 단계에 대한 본 발명에 의한 다른 실시예(128B)를 설명하기 위한 플로우차트로서, 외부에서 제공한 클라이언트(10, ... 또는 12)의 고유 번호 및 비밀 번호가 유효할 때 작업을 수행하는 단계(제190 ∼ 제198 단계들)로 이루어진다.
제126 단계후에, 클라이언트(10, ... 또는 12)는 N개의 서버(16, ... 및 18)중에서 스캐닝 작업을 수행시키고자 하는 원하는 서버(16, ... 또는 18)를 지정한다(제190 ∼ 제194 단계). 예컨대, 임의의 서버(16, ... 또는 18)를 이용하여 문서를 스캐닝하고, 스캐닝된 문서를 자신의 클라이언트(10, ... 또는 12)로 전송하고자 하는 사용자는 클라이언트의 고유 번호 및 비밀 번호를 임의의 서버(16, ... 또는 18)에게 제공한다(제190 단계). 이 경우, 클라이언트(10, ... 또는 12)는 자신의 고유 번호, 비밀 번호 및 공간상의 위치를 제126 단계에서 미리 임의의 서버를 포함하는 해당하는 서버(16, ... 또는 18)로 제공한다.
제190 단계후에, 고유 번호와 비밀 번호를 제공받은 서버(16, ... 또는 18)는 사용자가 제공한 고유 번호와 비밀 번호가 유효한가를 판단한다(제192 단계).
만일, 서버는 사용자로부터 제공받은 고유 번호와 비밀 번호가 유효하지 않은 것으로 판단되면, 작업을 수행하지 않는다. 그러나, 제공받은 고유 번호와 비밀 번호가 유효한 것으로 판단되면, 고유 번호와 비밀 번호를 제공받은 서버는 지정된 서버로 결정된다(제194 단계).
한편, 제194 단계후에, 지정된 서버(16, ... 또는 18)는 작업을 수행할 때 필요한 속성 및 데이타를 고유 번호에 해당하는 공간상에 위치하는 클라이언트(10, ... 또는 12)로부터 가져온다(제196 단계). 즉, 지정된 서버(16, ... 또는 18)로부터 속성 및 데이타의 전송을 요구받은 클라이언트(10, ... 또는 12)는 서버에서 문서가 스캐닝되는 작업이 수행될 예정임을 인지할 수 있다. 게다가, 이와 같이, 서버(16, ... 또는 18)는 필요할 때마다 클라이언트(10, ... 또는 12)로부터 속성 및 데이타를 가져오며, 서버 자신이 이러한 속성 및 데이타를 저장할 필요가 없다. 그러므로, 서버(16, ... 또는 18)는 클라이언트(10, ... 또는 12)의 속성이나 데이타를 자신이 저장할 필요가 없다.
제196 단계후에, 서버(16, ... 또는 18)는 가져온 속성 및 데이타를 이용하여 작업을 수행하고, 작업이 수행될 때마다 작업이 수행된 결과를 클라이언트(10, ... 또는 12)로 전송한다(제198 단계).
한편, 제128 단계후에, 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)에게 요구한 작업의 수행을 수정할 수 있다(제130 단계). 예컨대, 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)에게 이전에 요구한 작업의 수행을 취소 또는 변경 요구할 수도 있고, 이전에 요구한 작업의 수행을 멈출 것을 서버에게 요구한 후 작업의 수행을 다시 진행시키도록 요구할 수 있다. 이 때, 이전에 클라이언트(10, ... 또는 12)에 의해 요구되었던 복수개의 작업들이 동시에 취소될 수도 있다.
본 발명에 의하면, 도 7에 도시된 본 발명에 의한 통신 방법은 제130 단계를 마련하지 않을 수도 있다. 이 경우, 도 9에 도시된 제176 단계를 수행한 후 또는 도 10에 도시된 제198 단계를 수행한 후에, 도 7에 도시된 본 발명에 의한 통신 방법을 종료한다.
도 11은 도 7에 도시된 통신 방법의 다른 실시예를 설명하기 위한 플로우차트로서, 작업의 수행이 종료되었음을 클라이언트(10, ... 또는 12)에게 알리는 단계(제210 및 제212 단계들)로 이루어진다.
서버(16, ... 또는 18)는 작업의 수행이 종료되었는가를 판단한다(제210 단계). 만일, 도 7에 도시된 통신 방법이 제130 단계를 마련하지 않을 경우, 제128 단계후에 서버(16, ... 또는 18)는 작업의 수행이 종료되었는가를 판단한다(제210 단계). 그러나, 도 7에 도시된 통신 방법이 제130 단계를 마련할 경우, 제130 단계후에 서버는 작업의 수행이 종료되었는가를 판단한다.
만일, 작업의 수행이 종료되지 않았다고 판단되면, 제128 단계로 진행하여 미처 수행하지 못한 작업을 계속해서 수행한다. 그러나, 작업의 수행이 종료되었다고 판단되면, 서버(16, ... 또는 18)는 작업의 수행이 종료되었음을 클라이언트(10, ... 또는 12)에게 알린다(제212 단계). 따라서, 스캐닝된 문서를 전송받은 클라이언트(10, ... 또는 12)는 서버(16, ... 또는 18)의 스캐닝 작업이 종료되었음을 알수 있고, 스캐닝된 문서의 시작과 끝을 알 수 있으며, 서버(16, ... 또는 18)와 연계된 자신의 상태를 종료할 수도 있다.
전술한 본 발명에 의한 전송 패킷을 네트워크를 통해 서버와 클라이언트가 주고 받으면서 여러가지 기능을 수행하는 본 발명에 의한 통신 방법 즉, 네트워크 다중 기능 주변 기기 프로토콜(NMFPP:Network Multi-Function PeripheralProtocol)은 클라이언트와 서버의 운영 체제(OS:Operating System)에 독립적이으로 설계될 수 있으며, 프로토콜 계층에서 어플리케이션 프로토콜보다 상위이거나 동위일 수 있다. 여기서, 프로토콜의 계층은 상위로 갈수록 언어화되어 있고 하위로 갈수록 부호화되어 있다.
또한, NMFPP는 보안 환경에서도 작동될 수 있으며, 이를 위해 보안 프로토콜이 사용될 수 있다. 그러나, NMFPP는 보안을 위한 별도의 정보를 포함하지 않는다.
한편, 도 1에 도시된 서버(16, ... 또는 18)는 제작자별로 달라지는 속성 그룹과 달라지는 데이타 그룹을 가질 수 있다. 따라서, 제작자별로 다른 속성 그룹과 다른 데이타 그룹을 제안한 제안서를 클라이언트(10, ... 또는 12)에게 제공할 경우, 동일한 통신 장치가 구현될 가능성을 사전에 방지하고 정보 처리 상호 운용 가능성(inter-operability)를 쉽게 할 수 있다. 그러나, 이러한 제안서를 제공받지 않는다고 하더라도, 클라이언트(10, ... 또는 12)는 속성 그룹과 데이타 그룹을 요구 및 응답에 의해 서버(16, ... 또는 18)와 주고 받을 수 있다.
이하, 전술한 본 발명에 의한 전송 패킷을 이용한 다기능 수행을 위한 통신 방법 및 전송 패킷의 이해를 돕기 위해, 클라이언트(10, ... 또는 12)와 서버(16, ... 또는 18)간에 전송되는 예시적인 패킷의 포맷을 표들을 참조하여 다음과 같이 설명한다.
예를 들면, 서버(16, ... 또는 18)는 300 도트 퍼 인치(dpi:dot per inch) 프린터, 자동 원고 공급부(ADF:Automatic Document Feeder)를 갖는 600dpi 스캐너 및 듀얼 라인(dual line) 팩스를 갖는다고 가정한다. 이 때, 도 7에 도시된 제120 단계를 수행할 때, 클라이언트(10, ... 또는 12)는 예를 들면 다음 표 7과 같은 패킷을 서버로 방송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0(여기서, 1은 메이져 버젼 번호를 나타내고, 0은 마이너 버젼 번호를 나타낸다.) |
20 |
0x01 |
요구용 |
22 |
0xFF |
모든 작업용 |
24 |
0x05 |
서버의 정보 속성 |
40 |
0x001D |
29 바이트 |
60 |
std-device-printer-resolution |
해상도를 얻기 |
62 |
0x04 |
부호를 갖지 않은 워드 |
64 |
0x0002 |
2 바이트 |
66 |
0x012C |
300 dpi(클라이언트는 300dpi의 해상도를 갖는 프린터를 요구함) |
68 |
0x05 |
서버의 정보 속성 |
40 |
0x0016 |
22 바이트 |
60 |
std-device-print-color |
컬러 프린터 |
62 |
0x02 |
부호를 갖지 않는 바이트 |
64 |
0x0001 |
1 바이트 |
66 |
0x01 |
true(여기서, true는 클라이언트가 컬러 프린터를 요구함을 나타냄) |
68 |
0x05 |
서버의 정보 속성 |
40 |
0x001D |
29 바이트 |
60 |
std-device-scanner-resolution |
스캐너의 해상도 |
62 |
0x02 |
부호를 갖지 않는 워드 |
64 |
0x0002 |
2 바이트 |
66 |
0x0258 |
600dpi(클라이언트는 600dpi의 해상도를 갖는 스캐너를 요구함) |
68 |
0x05 |
서버의 정보 속성 |
40 |
0x0016 |
22 바이트 |
60 |
std-device-scanner-adf |
ADF를 갖는 스캐너 |
62 |
0x02 |
부호를 갖지 않는 바이트 |
64 |
0x0001 |
1 바이트 |
66 |
0x01 |
true(여기서, true는 클라이언트가 ADF를 갖는 스캐너를 요구함을 나타냄) |
68 |
0x05 |
서버의 정보 속성 |
40 |
0x13 |
19 바이트 |
60 |
std-device-fax-dual |
듀얼 팩스 능력을 갖는 서버 |
62 |
0x02 |
부호를 갖지 않는 바이트 |
64 |
0x0001 |
1 바이트 |
66 |
0x01 |
true(여기서, true는 클라이언트가 듀얼 팩스 능력을 갖는 서버를 요구함을 나타냄) |
68 |
0x00 |
패킷의 끝 |
30 |
전술한 표 7과 같은 요구를 실은 전송 패킷이 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 방송되면, 서버(16, ... 또는 18)로부터 예를 들면 다음 표 8과 같은 응답이 클라이언트(10, ... 또는 12)로 보내질 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x02 |
응답용 |
22 |
0xFF |
모든 작업용 |
24 |
0x05 |
서버의 정보 속성 |
40 |
0x001A |
26 바이트 |
60 |
std-device-MFP-name |
서버의 이름 |
62 |
0x09 |
스트링 |
64 |
0x0006 |
6 바이트 |
66 |
tiger |
프린터의 이름은 tiger이다 |
68 |
0x05 |
서버의 정보 속성 |
40 |
0x0017 |
23 바이트 |
60 |
std-device-IP-address |
서버의 IP 어드레스 |
62 |
0x0A |
IP 어드레스 형태 |
64 |
0x0004 |
4 바이트 |
66 |
A8DB0249 |
168.219.2.72 |
68 |
0x00 |
패킷의 끝 |
30 |
이 때, 제122 단계를 수행할 때, 클라이언트(10, ... 또는 12)는 예를 들면 다음 표 9와 같은 패킷을 발견된 서버(16, ... 또는 18)로 전송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x01 |
요구용 |
22 |
0x03 |
프린팅용 및 스캐닝용 |
24 |
0x15 |
프린팅 정보 속성 |
40 |
0x0017 |
23 바이트 |
60 |
std-device-driver-URL |
프린터 드라이버 URL 정보 |
62 |
0x09 |
스트링 |
64 |
0x0002 |
2 바이트 |
66 |
"?" |
URL이 어디 있는가? |
68 |
0x25 |
스캐닝 정보 속성 |
40 |
0x001E |
30 바이트 |
60 |
std-scanner-driver-URL |
스캐너 드라이버 URL |
62 |
0x09 |
스트링 |
64 |
0x001A |
2 바이트 |
66 |
"?" |
URL이 어디 있는가? |
68 |
0x00 |
패킷의 끝 |
30 |
전술한 표 9와 같은 요구를 실은 전송 패킷이 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 전송되면, 서버(16, ... 또는 18)로부터 예를 들면 다음 표 10과 같은 응답이 클라이언트(10, ... 또는 12)로 보내질 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x02 |
응답용 |
22 |
0x03 |
프린팅용 및 스캐닝용 |
24 |
0x15 |
프린팅 정보 속성 |
40 |
0x0016 |
22 바이트 |
60 |
std-printer-driver-URL |
프린터 드라이버 URL 정보 |
62 |
0x09 |
스트링 |
64 |
0x001E |
30 바이트 |
66 |
mnfp://www.sec.co.kr/printer/ |
프린터 드라이버를 얻는 장소는 삼성 프린터 드라이버의 웹 사이트이다. |
68 |
0x25 |
스캐닝 정보 속성 |
40 |
0x0016 |
22 바이트 |
60 |
std-scanner-driver-URL |
스캐너 드라이버 URL |
62 |
0x09 |
스트링 |
64 |
0x001A |
26 바이트 |
66 |
nmfp://www.sec.co.kr/mfp/ |
스캐너 드라이버를 얻는 장소는 삼성 스캐너 드라이버의 웹 사이트이다. |
68 |
0x00 |
패킷의 끝 |
30 |
이 때, 제126 단계를 수행할 때, 클라이언트(10, ... 또는 12)는 예를 들면 다음 표 11과 같은 패킷을 선별된 서버(16, ... 또는 18)로 전송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x01 |
요구용 |
22 |
0x87 |
프린팅용, 스캐닝용, 팩싱용 |
24 |
0x13 |
프린팅 제어 속성 |
40 |
0x0024 |
36 바이트 |
60 |
std-printer-control-subscribe-status |
가입 프린터 상태 보고 서비스 |
62 |
0x0A |
IP 어드레스 |
64 |
0x0004 |
4 바이트 |
66 |
A8DB0249 |
168.219.2.72(이러한 IP 어드레스를 갖는 클라이언트가 서버 상태의 비동기적 통보를 요구하고 있다.) |
68 |
0x23 |
스캐닝 제어 속성 |
40 |
0x0022 |
34 바이트 |
60 |
std-scanner-control-subscribe-scan |
스캔 작업 가입(사용자가 스캔 버튼을 누를 때 이벤트를 스캔한다.) |
62 |
0x0A |
IP 어드레스 |
64 |
0x0004 |
4 바이트 |
66 |
A8DB0249 |
168.219.2.72(이러한 IP 어드레스를 갖는 클라이언트가 스캔 작업의 비동기적 통보를 요구하고 있다.) |
68 |
0x33 |
팩싱 제어 속성 |
40 |
0x001A |
26 바이트 |
60 |
std-fax-control-subscribe-injob |
들어오는 팩싱 작업 통보 가입 |
62 |
0x0A |
IP 어드레스 |
64 |
0x0004 |
4 바이트 |
66 |
A8DB0249 |
168.219.2.72(이러한 IP 어드레스를 갖는 클라이언트가 들어오는 팩싱 작업의 비동기적 통보를 요구하고 있다.) |
68 |
0x03 |
서버 제어 속성 |
40 |
0x0023 |
35 바이트 |
60 |
std-device-control-subscribe-status |
서버 상태 가입 |
62 |
0x0A |
IP 어드레스 |
64 |
0x0004 |
4 바이트 |
66 |
A8DB0249 |
168.219.2.72(이러한 IP 어드레스를 갖는 클라이언트가 비동기적 통보를 요구하고 있다.) |
68 |
0x00 |
패킷의 끝 |
30 |
한편, 제128 단계에서, 클라이언트(10, ... 또는 12)는 프린팅 작업을 서버(16, ... 또는 18)에게 요구하기 위해, 예를 들면 다음 표 12와 같은 패킷을 서버(16, ... 또는 18)로 전송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x01 |
요구용 |
22 |
0x01 |
프린팅용 |
24 |
0x11 |
프린팅 작업 속성 |
40 |
0x15 |
21 바이트 |
60 |
std-printjob-charset |
프린티용 캐릭터 설정 속성 |
62 |
0x09 |
스트링 |
64 |
0x08 |
8 바이트 |
66 |
US-ASCII |
US-ASCII(프린팅용으로 사용되는 캐릭터 설정들은 US-ASCII 캐릭터이다) |
68 |
0x11 |
프린팅 작업 속성 |
40 |
0x1E |
30 바이트 |
60 |
std-printjob-natural-language |
자연 언어 속성 |
62 |
0x09 |
스트링 |
64 |
0x06 |
6 바이트 |
66 |
en-US |
en-US(프린팅용으로 사용된 자연 언어는 US 영어이다.) |
68 |
0x11 |
프린팅 작업 속성 |
40 |
0x10 |
16 바이트 |
60 |
std-printer-URL |
프린터-URL |
62 |
0x09 |
스트링 |
64 |
0x1C |
28 바이트 |
66 |
nmfpp://workgroup/mfp/tiger |
본 발명에 의한 패킷을 사용하는 네트워크상의 워크 그룹에서 다기능 주변 기기 tiger |
68 |
0x11 |
프린팅 작성 속성 |
40 |
0x12 |
18 바이트 |
60 |
std-printjob-name |
프린팅 작성 이름 |
62 |
0x09 |
스트링 |
64 |
0x0E |
14 바이트 |
66 |
myprintjob.ps |
myprintjob.ps Postscript file |
68 |
0x11 |
프린팅 작업 속성 |
40 |
0x14 |
20 바이트 |
60 |
std-printjob-copies |
복사수 |
62 |
0x02 |
부호를 갖지 않은 바이트 |
64 |
0x01 |
1 바이트 |
66 |
0x02 |
2 매 복사 |
68 |
0x11 |
프린팅 작업 속성 |
40 |
0x17 |
23 바이트 |
60 |
std-printjob-papersize |
종이 크기 속성 |
62 |
0x09 |
스트링 |
64 |
0x07 |
7 바이트 |
66 |
Letter |
Letter papersize |
68 |
전술한 표 12와 같은 요구를 실은 전송 패킷이 클라이언트(10, ... 또는 12)로부터 서버(16, ... 또는 18)로 전송되면, 서버(16, ... 또는 18)로부터 예를 들면 다음 표 13과 같은 응답이 클라이언트(10, ... 또는 12)로 보내질 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x11 |
프린팅 작업 속성 |
40 |
0x14 |
20 바이트 |
60 |
std-printjob-duplex |
듀플렉스 선택 |
62 |
0x02 |
부호를 갖는 않은 바이트 |
64 |
0x01 |
1 바이트 |
66 |
0x01 |
짧은 엣지 |
68 |
0x90 |
프린팅 작업 |
80 |
0x01 |
텍스트 형태 |
100 |
0x00000FDD |
4061 바이트(데이타 길이) |
104 |
%!PS-Adobe |
Postscript 언어를 사용하는 프린트 작업 |
106 |
0x00 |
패킷의 끝 |
30 |
또한, 제128 단계에서, 클라이언트(10, ... 또는 12)는 스캐닝 작업을 서버(16, ... 또는 18)에게 요구하기 위해, 예를 들면 다음 표 14와 같은 패킷을 서버(16, ... 또는 18)로 전송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x01 |
요구용 |
22 |
0x02 |
스캔닝용 |
24 |
0x22 |
스캐닝 작업 제어 속성 |
40 |
0x17 |
23 바이트 |
60 |
std-scanjobcontrol-resolution |
스캐닝 해상도 |
62 |
0x04 |
부호를 갖지 않은 워드 |
64 |
0x04 |
4 바이트 |
66 |
0x012C |
300dpi(문서를 300dpi에서 스캐닝될 필요가 있음을 나타냄) |
68 |
0x0021 |
스캐닝 작업 속성 |
40 |
0x14 |
20 바이트 |
60 |
std-scanjob-user-ID |
사용자 ID 속성 |
62 |
0x09 |
스트링 |
64 |
0x06 |
6 바이트 |
66 |
klee4 |
사용자 ID는 "klee4"이다 |
68 |
0x22 |
스캐닝 작업 제어 속성 |
40 |
0x18 |
24 바이트 |
60 |
std-scanjobcontrol-brightness |
스캐닝의 밝기 |
62 |
0x02 |
부호를 갖지 않은 바이트 |
64 |
0x01 |
1 바이트 |
66 |
0x80 |
128(여기서, 128은 스캐닝의 밝기값을 나타냄) |
68 |
0x22 |
스캐닝 작업 제어 속성 |
40 |
0x1C |
28 바이트 |
60 |
std-scanjobcontrol-contrast |
스캐닝의 콘트라스트 |
62 |
0x02 |
부호를 갖지 않은 바이트 |
64 |
0x01 |
1 바이트 |
66 |
0x80 |
128(여기서, 128은 최소값과 최대값의 사이에서 콘트라스트값을 나타냄) |
68 |
0x21 |
스캐닝 작업 속성 |
40 |
0x13 |
19 바이트 |
60 |
std-scanjob-copies |
스캐닝의 복사 회수 |
62 |
0x02 |
부호를 갖지 않은 바이트 |
64 |
0x01 |
1 바이트 |
66 |
0x02 |
2매 복사(이는, 각 스캐닝된 페이지당 2매 복사를 의미함) |
68 |
0x00 |
패킷의 끝 |
30 |
게다가, 제128 단계에서, 클라이언트(10, ... 또는 12)는 팩스 작업을 서버(16, ... 또는 18)에게 요구하기 위해, 예를 들면 다음 표 15와 같은 패킷을 서버(16, ... 또는 18)로 전송할 수 있다.
헥 사 값 |
심 볼 값 |
필드를 나타내는 참조부호 |
0x0100 |
1.0 |
20 |
0x01 |
요구용 |
22 |
0x03 |
팩싱용 |
24 |
0x31 |
팩싱 작업 속성 |
40 |
0x13 |
19 바이트 |
60 |
std-faxjob-user-ID |
사용자 ID 속성 |
62 |
0x09 |
스트링 |
64 |
0x06 |
6 바이트 |
66 |
klee4 |
사용자 ID(이는,팩싱 작업을 위해 사용되는 사용자 ID를 나타냄) |
68 |
0x31 |
팩싱 작업 속성 |
40 |
0x12 |
18 바이트 |
60 |
std-faxjob-number |
팩스 번호 |
62 |
0x02 |
부호를 갖지 않은 바이트 |
64 |
0x0C |
13 바이트 |
66 |
9.032004664 |
9 멈춤 0312004664(목적지의 다이얼 번호) |
68 |
0x31 |
팩싱 작업 속성 |
40 |
0x19 |
25 바이트 |
60 |
std-faxjob-receiver-name |
팩스 수신기의 이름(로깅용) |
68 |
0x09 |
스트링 |
64 |
0x09 |
9 바이트 |
66 |
anonymous |
(팩스 수신기의 이름) |
68 |
0xB0 |
팩싱 작업 |
80 |
0x000000FAA |
4010 바이트 |
104 |
bitmap data |
비트 맵 데이타 |
80 |
0x00 |
패킷의 끝 |
30 |