KR910005777B1 - Method for exchanging document information between pcs using n-telephone lines - Google Patents
Method for exchanging document information between pcs using n-telephone lines Download PDFInfo
- Publication number
- KR910005777B1 KR910005777B1 KR1019890005720A KR890005720A KR910005777B1 KR 910005777 B1 KR910005777 B1 KR 910005777B1 KR 1019890005720 A KR1019890005720 A KR 1019890005720A KR 890005720 A KR890005720 A KR 890005720A KR 910005777 B1 KR910005777 B1 KR 910005777B1
- Authority
- KR
- South Korea
- Prior art keywords
- line
- program
- line number
- piu
- calling
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
제1도는 본 발명을 수행하기 위한 시스템.1 is a system for carrying out the present invention.
제2도는 본 발명에 따른 각 계층 프로토콜 구현 프로그램의 구조도.2 is a structural diagram of each layer protocol implementation program according to the present invention.
제3도는 본 발명에 따른 흐름도.3 is a flow chart according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
11 : 마이크로프로세서 12 : 인터럽트제어기11
13 : EPROM 14 : 램13: EPROM 14: RAM
15 : 모뎀 16 : 직렬입출력회로15
PSTN : 공중스위칭전화망 PC1-PCN : 퍼스널컴퓨터PSTN: Public Switching Telephone Network PC1-PCN: Personal Computer
PCA1-PCAN : PC통신장치PCA1-PCAN: PC Communication Device
본 발명은 메시지 처리시스템(Message Handling System)에 있어서 퍼스널컴퓨터(이하 "PS"라 칭함)를 접속하는 방법에 관한 것으로, 특히 한 개의 PC접속처리장치가 다수의 전화회선(Telephone Line)을 통해 동시에 여러개의 PC와 문서를 교환할 수 있는 N회선 처리방법에 관한 것이다.BACKGROUND OF THE
일반적으로 메시지 처리시스템(Message Handing System : 이하 "MHS"라 칭함)이 다양한 서비스를 PC에 제공하려할 때 MHS가 PC와 통신을 수행하기 위해서는 PC측의 통신을 담당하는 통신장치(Adaptor)에 상응하는 장치가 요구된다.In general, when a message handling system (hereinafter referred to as “MHS”) attempts to provide various services to a PC, the MHS corresponds to an adapter in charge of the PC side in order to communicate with the PC. Device is required.
종래의 PC통신장치는 단지 원거리에 있는 PC와의 1 : 1 통신만을 위해 고안되어졌으므로 동시에 다수의 PC통신장치와 통신할 수 없게 되어있다. 즉, PC상호간의 통신에 필수적인 각 계층의 프로토콜(Protocol)이 서로 의존적으로 구현되어 한 PC에서 서비스 요청이 온 경우 해당 서비스의 완결시까지 다른 PC와의 통신서비스가 이루어질 수 없는 S/W구성을 갖게 된다.Conventional PC communication devices are designed only for 1: 1 communication with remote PCs, and therefore cannot communicate with multiple PC communication devices at the same time. In other words, each layer's protocols, which are essential for communication between PCs, are implemented dependent on each other, so that when a service request comes from one PC, it has a S / W configuration that cannot communicate with other PCs until the service is completed. do.
종래 기술을 구체적으로 설명하면, 다른 기종 PC간의 통신을 보장하기 위하여 PC간의 통신을 전담하는 PC통신장치가 필요한데, PC통신장치간의 통신은 각 장치안에 CCITT가 권고하는 표준규격 프로토콜을 구현해 줌으로써 가능하다. PC통신장치에 관련되는 표준 권고안은 계층 1에서 계층 5까지 즉, 물리계층, 데이터링크계층, 네트워크계층, 트랜스포트계층, 세션계층에 대한 것이다.In detail, the conventional technology requires a PC communication device dedicated to communication between PCs to ensure communication between different PCs. Communication between PC communication devices is possible by implementing a standard protocol recommended by CCITT in each device. . Standard recommendations relating to PC communication devices are from
한편, 계층이 올라갈수록 고급한 기능을 제공하는데, 이를 위해 각 계층은 자기의 바로 아래계층이 제공하는 기능을 이용하여 요구되는 기능을 수행하게 된다.On the other hand, as the hierarchy goes up, advanced functions are provided. For this purpose, each layer performs a required function by using a function provided by the layer directly below it.
이와 같은 계층구조(Layered Architecture)의 통신 S/W가 종래에는 다음과 같은 순서에 의해 요구되는 서비스를 수행했다. PC가 PC통신장치에 어떤 서비스를 요구하게 되면, 서비스 요구 메시지는 세션계층 프로그램에 의해 수신되어 서비스를 받게된다.The communication S / W of such a layered architecture has conventionally performed a service required by the following procedure. When the PC requests a service from the PC communication device, the service request message is received by the session layer program to receive the service.
그런데 모든 계층의 프로그램들이 서로 의존적으로 구성되어 하나의 통합된 프로그램처럼 존재하기 때문에 세션계층이 트랜스포트계층을 호출하고, 트랜스포트는 다시 네트워크계층을, 네트워크계층은 데이터링크계층을 호출함으로 각각 요구되는 기능을 수행하게 된다. 계층간의 명확한 구분이 없기 때문에 어떤 서비스의 제공중에는 다른 일을 전혀할 수 없고, 순서적으로(Sequentially) 그 일만을 처리하게 된다.However, since the programs of all layers are configured to be independent of each other and exist as one integrated program, the session layer calls the transport layer, the transport again calls the network layer, and the network layer calls the data link layer. It will perform the function. Since there is no clear distinction between tiers, it is not possible to do anything else while providing a service, and only to do it sequentially.
따라서 어떤 계층에서, 만약 3초간 지연(delay)후 프로그램이 진행된다고 하는 부분이 있을 경우에도 프로세서는 다른일을 하지 못하고 3초동안 휴지(idle)상태에 머므르게 된다.Thus, in some layers, if there is a part that says that the program proceeds after a delay of 3 seconds, the processor does not do anything else and stays idle for 3 seconds.
상기한 바와 같이 MHS가 PC와 통신을 수행하기 위해서 PC측의 통신을 담당하는 통신장치에 상응하는 장치 즉, PC접속처리장치(PC Interface Unit : 이하 "PIU"라고 칭함)가 필요한데 만일 상기 PIU로서 종래의 PC통신장치를 그대로 사용하면 N대의 PC와 동시에 통신을 하기 위해서는 PIU측에 N개의 PC통신장치가 필요하게 된다.As described above, in order for the MHS to communicate with a PC, a device corresponding to a communication device in charge of communication on the PC side, that is, a PC interface unit (hereinafter referred to as a “PCU unit”) is required. If the conventional PC communication device is used as it is, N PC communication devices are required on the PIU side to communicate with N PCs simultaneously.
따라서 본 발명의 목적은 종래의 비 효율성을 극복하기 위해 1개의 PIU가 다수의 PC와 동시에 통신할 수 있는 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide a method in which one PIU can simultaneously communicate with multiple PCs to overcome conventional inefficiencies.
상기 목적을 수행하기 위한 본 발명은 한 개의 PIU로 동시에 여러 PC통신장치와의 통신을 가능하도록 하기 위해서 통신 S/W를 각 계층별로 서로 독립적으로 구성하고, 각 계층의 수행순서를 스케쥴러(scheduler)에 의해 관장함으로서 PIU에 대해 각 라인에 할당되는 시간 단위가 한 서비스 수행시간이 아니라 하나의 계층의 수행시간이 되도록 하여 각 라인의 요구가 실시간에 만족되도록 이루어짐을 특징으로 한다.In order to accomplish the above object, the present invention is to configure communication S / W independently for each layer in order to enable communication with multiple PC communication devices at the same time with one PIU, and a schedule of execution of each layer. In this case, the time unit allocated to each line for the PIU is not one service execution time but one execution time of one layer, so that the requirements of each line are satisfied in real time.
이하 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제1도는 본 발명을 수행하기 위한 시스템도로서, PIU시스템을 제어하는 마이크로 프로세서(11)와, PIU에서 처리되는 통신 프로그램을 내장하고 있는 EPROM(13)과, PIU의 통신 프로그램 동작시에 발생되는 데이터를 저장하는 RAM(14)과, PIU시스템에서 발생되는 인터럽트를 제어하는 인터럽트제어기(12)와, PC들로부터의 데이터를 복조하고 PIU에서의 송신 데이터를 변조하는 모뎀(15)과, 상기 모뎀(15)을 통한 데이터를 직렬로 변환하는 직렬 입출력회로(16)와, PC1-PCN의 상호간의 통신을 전달하는 PC통신장치(PCA1-PCAN)와, 상기 PIU는 PC1-PCN측에 PC통신장치(PCA1-PCAN)에 상응하는 MHS측의 통신장치이다. PSTN은 공중스위칭 전화망이다.1 is a system diagram for carrying out the present invention, which includes a microprocessor 11 for controlling a PIU system, an
제2도는 본 발명에 따른 각 계층 프로토콜 구현 프로그램 구조도이다. PC접속처리장치(PIU)의 프로그램은 EPROM(13)상에 세션 프로토콜 구현 프로그램, 트랜스포트 프로토콜 구형 프로그램, 네트워크 프로토콜 구현 프로그램, 데이터링크 프로토콜 구현 프로그램으로 4개의 프로그램으로 구성되어 있는데, 본 발명은 PC접속처리장치(PIU)가 N개의 PC와 동시에 통신을 할 수 있도록 하기위해 이들 4개의 프로그램이 각각 다른 프로그램과 독립적으로 실행될 수 있도록 하고, 이들 프로그램간의 신호 교환은 프로그램 사이의 램(RAM)을 이용한 피포(FiFo)를 통해서만 이루어지도록 하여 모두 제2도와 같은 구조를 갖는다.2 is a structural diagram of each layer protocol implementation program according to the present invention. The program of the PC access processing unit (PIU) is composed of four programs on the EPROM 13 including a session protocol implementation program, a transport protocol legacy program, a network protocol implementation program, and a data link protocol implementation program. In order to allow the PIU to communicate with N PCs at the same time, these four programs can be executed independently from each other, and signal exchange between these programs uses RAM between programs. Only through FiFo, all have the structure as shown in FIG.
램(RAM)의 제1-n피포(fifo1-fifoN)는 해당 계층에 서비스를 요청하는 메시지들의 대기행렬(Queue)이며, 1-N은 각각 통신에 사용되는 전화리인 번호를 나타낸다.The first n-fifo of the RAM (fifo1-fifoN) is a queue of messages for requesting service to the layer, 1-N each represents a telephone line number used for communication.
램(RAM)의 피포(fifo1´-fifoN´)는 요구되는 서비스를 수행하고 난후에 그 결과를 상위 계층에 보고하는 대기행렬 혹은 요구되는 서비스를 수행하기 위해 하위계층에 서비스를 요구하는 메시지들의 요구행렬(Queue)이 된다. 즉, 각 계층 프로그램은 동시에 통신을 수행하고 있는 각 전화라인에 대해 개별적인 피포(fifo)를 가짐으로서 다른 라인과는 별개로 동시에 통신을 할 수 있게 된다.The fifo1'-fifoN 'of RAM requests a message that requests a service from a lower layer to perform the required service or queue to report the result to the higher layer after performing the required service. It becomes a matrix. That is, each hierarchical program has a separate fifo for each telephone line communicating at the same time, so that it can simultaneously communicate separately from other lines.
예를들어 PC접속처리장치(PIU)가 2번째의 전화라인을 통해 어떤 PC와 통신을 한다고 하면, 해당 PC에 관련되는 모든 정보는 모든 계층 프로그램에서 램(RAM)의 피포(fifo2), (fifo2´)만을 통해 전달 처리된다. 이와같이 PC접속처리장치(PIU)내의 각 프로그램을 독립적으로 구성한 후에 프로그램 실행순서를 정해주는 스케쥴러를 제3도와 같이 만들어 줌으로써 동시에 N회선 처리를 할 수 있다.For example, if a PCU communicates with a PC through a second telephone line, all information related to that PC is stored in all layers of the program's fifo2, (fifo2). Is handled via ´) only. In this way, after each program in the PCU (PIU) is configured independently, N-line processing can be performed simultaneously by creating a scheduler that defines the program execution order as shown in FIG.
제3도는 본 발명에 따른 흐름도로서, 현재 처리중인 전화라인번호를 나타내는 변수(N)를 1로 세팅하는 제1과정과, 처리해야 할 데이터를 램(RAM)의 피포[fifo(N)]에서 꺼내어서 라인번호(n)에 관련하여 세션프로그램을 호출 수행한 후 마지막 라인인가를 체킹하는 제2과정과, 상기 제2과정에서 마지막 라인이 아닐 때 라인번호 n을 1증가시켜 변경된 라인번호 n에 관련하여 세션 프로그램을 호출하는 상기 과정을 반복하고 상기 마지막 라인일 때 라인번호 n을 1로 세트하여 라인번호 n에 관련하여 트랜스포트 프로그램을 호출수행한 후 마지막 라인인가를 체킹하는 제3과정과, 상기 제3과정에서 마지막 라인이 아닐 때 라인번호 n을 1만큼 증가시켜 상기 라인번호 n에 관련하여 트랜스포트 프로그램을 호출하는 상기 공정을 반복하고 상기 마지막 라인일 때 라인번호 n을 1로 세트하여 라인 n에 관련하여 네트워크 프로그램을 호출하고 마지막 라인인가를 체킹하는 제4과정과, 상기 제4과정에서 마지막 라인이 아닐 때 라인번호 n을 1만큼 증가시켜 변경된 라인번호 n에 관련하여 네트워크 프로그램을 호출하는 상기 과정을 반복하고 상기 마지막 라인일 때 라인번호 n을 1로 세팅하며 라인번호 n에 관련하여 데이터링크 프로그램을 호출하여 마지막 라인을 체크하여 아닐 때 라인번호 n을 1증가시켜 데이터링크 프로그램을 호출하는 상기 과정을 반복하는 제5과정으로 이루어진다.3 is a flow chart according to the present invention, in which a first process of setting a variable N representing a telephone line number currently being processed to 1 and data to be processed at the fifo (N) of the RAM; A second process of checking the last line after the session program is called with respect to the line number n, and when the second line is not the last line in the second process, the line number n is increased by 1 to the changed line number n. A third step of repeating the above process of calling the session program and setting the line number n to 1 when the last line is called, performing a transport program in relation to the line number n, and checking whether it is the last line; Repeat the process of calling the transport program with respect to the line number n by increasing the line number n by 1 when it is not the last line in the third process, and when the last line is the line. A fourth step of calling the network program with respect to the line n by setting the call n to 1 and checking whether it is the last line, or by changing the line number n by 1 when the last line is not the last line in the fourth step, the changed line number n Repeat the process of calling the network program in relation to the above, and set the line number n to 1 when the last line is called, and check the last line by calling the data link program in relation to the line number n, and set the line number n to 1 when not. And a fifth step of repeating the above step of calling the data link program by increasing the number.
따라서 본 발명의 구체적 일실시예를 제1-3도를 참조하여 상세히 설명하면, PC접속처리장치(PIU)의 마이크로 프로세서(11)가 (3a)과정에서 공중스위치전화망(PSTN), 모뎀(15)을 통해 현재 처리중인 전화라인(즉, PC)의 번호를 n이라는 변수에 의해서 나타낸다고 하고, 처리해야만 하는 PC의 총 개수(PC1-PCN)를 N이라고 할 때, 먼저 PIU의 마이크로 프로세서(11)는 첫 번째 라인부터 처리해야 함으로 라인번호 변수 n을 마이크로 프로세서(11)의 소정의 레지스터에 1로 만든다.Therefore, a specific embodiment of the present invention will be described in detail with reference to Figs. 1-3, where the microprocessor 11 of the PCU (PIU) processes the public switched telephone network (PSTN) and the modem (15) in the process (3a). When the number of telephone lines (ie, PCs) currently being processed is represented by a variable n, and the total number of PCs (PC1-PCN) that must be processed is N, first, the microprocessor 11 of the PIU Must process from the first line so that the line number variable n is set to 1 in a predetermined register of the microprocessor 11.
그리고 (3b)과정에서 이 라인번호 n(즉, 처음에 n값은 1이다)에 관련하여 EPROM(13)으로부터 세션 프로그램을 호출한다. 상기 호출된 세션 프로그램의 실행이 끝난 후 스케쥴러는 n값을 (3c)과정에서 마이크로 프로세서(1)가 체크함으로써, 즉 n=N인가를 비교함으로써 현재 처리한 라인이 마지막 라인 N인가를 알아본다.In
만약 N=n이라면 즉 처리해야 될 라인이 남아있다면 (3d)과정에서 n값을 1증가시킴으로 (3b)과정에서 다음 라인을 처리한다.If N = n, that is, if there are remaining lines to be processed, the next line is processed in step (3b) by increasing n by 1 in step (3d).
이와같은 방법으로 n값이 처음 1에서부터 2,3,4…N까지 변화하면서 각 해당 라인에 관해 세션 프로그램을 EPROM(13)으로부터 호출하여 실행해준다.In this way, the n value is from 1 to 2, 3, 4... By changing to N, the session program is called from the EPROM 13 for each corresponding line and executed.
상기 호출된 세션 프로그램이 1-N까지의 모든 라인에 대해 실행된후, (3e)과정에서 라인변수 n을 1로 세트하고 동일한 방법으로 다시 (3g)과정에서 n값을 변화시키면서 (3f)과정에서 트랜스포트계층 프로그램을 실행하고, 다시 상기와 동일한 방법으로 (3j)(3n)과정에서 네트워크, 데이터링크 프로그램을 차례로 실행한다. 모든 라인에 대해 데이터링크계층 프로그램 실행후 스케쥴러는 다시 처음으로 돌아가 위와 동일한 동작을 반복함으로 N회선 처리를 해나갈 수 있다.After the called session program is executed for all the lines up to 1-N, in step (3e), the line variable n is set to 1, and in the same manner, the value of n is changed in the process (3g) and again in step (3f). In this step, the transport layer program is executed, and in the same manner as above, the network and data link programs are sequentially executed in the process (3j) (3n). After executing the data link layer program for all lines, the scheduler can go back to the beginning and repeat the same operation as above to proceed with the N-line processing.
즉, 스케쥴러는 라인 #1에 관해 세션 프로그램을 실행시킨다. 즉, 라인 #1과 관련된 램(RAM)의 피포(fifo1)에서 하나의 메시지를 읽어서 요구되는 서비스를 수행한후 그결과 메시지 혹은 하위계층에 서비스를 요청하는 메시지를 램(RAM)의 피포(fifo1´)에 넣고 돌아온다.In other words, the scheduler executes the session program on
동일한 방식으로 라인 #2-N에 관해 차례로 세션 프로그림을 실행하고 스케쥴러는 세션 프로그램과 동일한 방법으로 트랜스포트계층 프로그램, 네트워크계층 프로그램, 데이터링크계층 프로그램을 차례로 실행한다. 데이터링크계층 프로그램을 라인 #N에 관해 수행한 후 스케쥴러는 다시 처음으로 돌아가서 위와 동일한 과정을 반복한다. 이와같은 방법으로 스케쥴러를 만듦으로서 동시에 N개의 PC와 통신을 수행할 수 있음을 알 수 있다.In the same way, the session program is executed in sequence on line # 2-N, and the scheduler executes the transport layer program, the network layer program, and the data link layer program in the same manner as the session program. After executing the data link layer program on line #N, the scheduler returns to the beginning and repeats the same process as above. By creating a scheduler in this way, we can see that we can communicate with N PCs at the same time.
상술한 바와 같이 한 개의 PC접속처리장치(PIU)로 동시에 여러대의 PC가 MHS 서비스를 받을 수 있도록 하며, PIU내의 각 계층 프로그램을 서로 독립적으로 구성함으로써 어떤 계층 프로그램을 수정할 때 해당 계층의 수정만으로 가능하고, 또 PIU가 지원하는(Support) PC의 수가 증가해도 해당 라인 #에 관한 피포(fifo)만을 추가하면 바로 이에 대한 서비스를 받을 수 있는 이점이 있다.As described above, multiple PCs can simultaneously receive MHS service through one PC access processing unit (PIU), and each layer program in the PIU can be configured independently to modify any layer program only by modifying the corresponding layer. In addition, even if the number of PCs supported by the PIU increases, there is an advantage in that the service can be obtained by adding only the fifo related to the corresponding line #.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890005720A KR910005777B1 (en) | 1989-04-29 | 1989-04-29 | Method for exchanging document information between pcs using n-telephone lines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890005720A KR910005777B1 (en) | 1989-04-29 | 1989-04-29 | Method for exchanging document information between pcs using n-telephone lines |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900016880A KR900016880A (en) | 1990-11-14 |
KR910005777B1 true KR910005777B1 (en) | 1991-08-03 |
Family
ID=19285747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890005720A KR910005777B1 (en) | 1989-04-29 | 1989-04-29 | Method for exchanging document information between pcs using n-telephone lines |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR910005777B1 (en) |
-
1989
- 1989-04-29 KR KR1019890005720A patent/KR910005777B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR900016880A (en) | 1990-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5047923A (en) | Modularly structured digital communication system for interconnecting terminal equipment and public networks | |
EP0312739B1 (en) | Apparatus and method for interconnecting an application of a transparent services access facility to a remote source | |
US4082922A (en) | Statistical multiplexing system for computer communications | |
JPH0544052B2 (en) | ||
JPH10507551A (en) | Signal data processing system and method, and communication system including signal data processing system | |
EP0917058A2 (en) | Dynamic plug and play interface for output device | |
US5812767A (en) | System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts | |
Ossanna et al. | Communications and input/output switching in a multiplex computing system | |
KR910005777B1 (en) | Method for exchanging document information between pcs using n-telephone lines | |
WO1999003036A1 (en) | Remote procedure call translation | |
US5210747A (en) | Communications controller for use with a computer and a plurality of isdn terminals | |
JP2820942B2 (en) | Communication protocol processing method | |
KR100539907B1 (en) | Structure and Method of Call Processing by Thread in Intelligent Network Switching System | |
JPH0887477A (en) | Service requesting method | |
JP4523303B2 (en) | Information processing board | |
KR100482316B1 (en) | Console server method on operating system and apparatus thereof | |
KR100442599B1 (en) | Message handling apparatus and method in exchange system using distributed objects of workstation | |
JPS63250243A (en) | Data communication processing system | |
JPS619742A (en) | Phenomenon control system | |
WO1999035548A2 (en) | Object oriented processor arrays | |
Barrett | Using a terminal switching exchange for computer peripheral sharing and other purposes. | |
JPH02280437A (en) | Communication processor | |
JPS58170293A (en) | Controlling system of key telephone set | |
KR20000031181A (en) | Internal data communication method of base station between process management system | |
Suzuki et al. | Implementation and evaluation of X. 25 and X. 32 on personal computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020723 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |