US5941950A - Socket binding method in communication system using socket function - Google Patents

Socket binding method in communication system using socket function Download PDF

Info

Publication number
US5941950A
US5941950A US08/954,618 US95461897A US5941950A US 5941950 A US5941950 A US 5941950A US 95461897 A US95461897 A US 95461897A US 5941950 A US5941950 A US 5941950A
Authority
US
United States
Prior art keywords
socket
server
bind
steps
time delay
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 - Lifetime
Application number
US08/954,618
Other languages
English (en)
Inventor
Yeong-Gil Hwang
Soo-Hyun Kim
Jong-Hoon Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONIC CO., LTD. reassignment SAMSUNG ELECTRONIC CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HWANG, YEONG-GIL, KIM, JONG-HOON, KIM, SOO-HYUN
Application granted granted Critical
Publication of US5941950A publication Critical patent/US5941950A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/28Timers or timing mechanisms used in protocols
    • 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

Definitions

  • the present invention relates to inter-system communication in computer networks, and more particularly to a method for establishing communication by using a socket function in a network program.
  • a network program In order to establish inter-system communication in a computer network, a network program is generally used.
  • the network program establishes communication by using a socket function which assigns sockets to each communication task. For example, a ⁇ bind ( ) ⁇ system call is commonly used for assigning the socket.
  • a computer network system which uses the ⁇ bind ( ) ⁇ system call includes a server 10 and a plurality of clients 12 connected to the server 10.
  • the server 10 is an independent computer system for processing job requests from clients 12.
  • the clients 12 are also independent computer systems for requesting the server 10 to process a particular job.
  • the inter-system communication between server 10 and the clients 12 is managed by a network program contained on both the server 10 and clients 12.
  • a socket function in the network program is used, and a socket is assigned to the specific communication task.
  • FIGS. 2 and 3 illustrate flow charts representing the process of assigning the socket by using the ⁇ bind ( ) ⁇ system call (hereinafter, referred to as socket binding), with a connection-oriented protocol, and a connectionless protocol, respectively.
  • socket binding ⁇ bind ( ) ⁇ system call
  • the server 10 and the client 12 specify a communication protocol type at steps 201 and 211, respectively socket ( )!.
  • the server 10 assigns a unique name to an unnamed socket at step 202 bind ( )!.
  • the server 10 notifies client 12 it is ready to accept a connection from the client, at step 203 listen ( )!, and waits to accept a substantial connection from the client 12, at step 204 accept ( )!.
  • client 12 establishes a connection to the server 10 by using a socket descriptor at step 212 connect ( )!, and writes the request data by using the socket descriptor designated by the socket ( ), at step 213 write ( )!.
  • Server 10 reads the request data by using the socket descriptor designated by the socket ( ) at step 205 read ( )!, and thereafter executes the process according to the data request. Once executed, server 10 writes reply data according to the process execution at step 206 write ( )!. Client 12 then reads the reply data from server 10, at step 214 read ( )!.
  • server 10 and client 12 specify a communication protocol type at steps 301 and 311, respectively socket ( )!.
  • the server 10 and the client 12 assign a unique name to an unnamed socket at steps 302 and 312, respectively bind ( )!.
  • the client 12 then sends the request data by using the socket descriptor designated by the socket ( ), at step 313 sendto ( )!.
  • Server 10 receives the request data from client 12 by using the socket descriptor designated by the socket ( ), at step 303 recvfrom ( )!, and upon receipt, server 10 executes the process according to the request. Thereafter, the server 10 sends the reply data corresponding to the data request, at step 304 sendto ( )!.
  • Client 12 receives the reply data from the server 10 at step 314 recvfrom ( )!.
  • the ⁇ bind ( ) ⁇ system call results in failure when assigning a unique name to an unnamed socket, the ⁇ bind ( ) ⁇ system call will be retried immediately. However, if the ⁇ bind ( ) ⁇ system call is repeatedly retried and continues to fail, a time delay is caused and a system call error will be generated during the time delay. The prior art method repeatedly retries the system call in case of system abnormalities. This retrying unnecessarily wastes system resources as well as increasing the load on the system.
  • a socket binding method for use in inter-system communications using socket functions delays the time at which the ⁇ bind ( ) ⁇ system call is retried when a ⁇ bind ( ) ⁇ system call results in failure.
  • the retry operation is not performed immediately after failure, but only after a lapse of a predetermined time.
  • the predetermined time based on the time delay by the established system in closing an abnormal socket.
  • FIG. 1 is a block diagram showing a general computer network system
  • FIG. 2 is a flow chart of the socket binding method of a connection-oriented protocol according to the prior art
  • FIG. 3 is a flow chart of the socket binding method of a connectionless protocol according to the prior art
  • FIG. 4 is a flow chart of the socket binding of a connection-oriented protocol according to an illustrative embodiment of the present invention.
  • FIG. 5 is a flow chart of the socket binding of a connectionless protocol according to another illustrative embodiment of the present invention.
  • FIG. 4 illustrates a flow chart for a socket binding of a connection-oriented protocol
  • FIG. 5 illustrates a flow chart for a socket binding of a connectionless protocol.
  • the socket binding method is characterized in that when the ⁇ bind () ⁇ system call results in failure, the ⁇ bind () ⁇ system call will not be immediately retried, but is retried after a lapse of a predetermined time, which is determined based on a time delay (i.e., a time delay in closing the abnormal socket) by the system itself.
  • the server 10 and the client 12 specify a communication protocol type at steps 401 and 411, respectively socket ()!.
  • the server 10 assigns a unique name to an unnamed socket at step 402 bind ()!, and checks, at step 403, whether the ⁇ bind () ⁇ system call results in success or failure. If the ⁇ bind () ⁇ system call is successful, server 10 will go to step 405. Otherwise, if the ⁇ bind () ⁇ system call fails, server 10 will go to step 404 to wait for a predetermined time and thereafter will return to the step 402 to retry the ⁇ bind () ⁇ system call.
  • the predetermined time refers to the time delay by the system itself, i.e. the time delay is closing the initially abnormal socket.
  • the server 10 notifies that it is ready to accept a connection from client 12, at step 405 listen ()!, and waits to accept a substantial connection from the client 12, at step 406 accept ()!.
  • Client 12 establishes a connection to the server 10 by using a socket descriptor at step 412 connect ()!, and writes request data by using the socket descriptor designated by the socket (), at step 413 write ()!.
  • server 10 reads the request data by using the socket descriptor designated by the socket ( ) at step 407 read ()!, and executes the process according to the data request. Thereafter, server 10 writes reply data according to the executed process at step 408 write ()!.
  • Client 12 reads the reply data from the server 10, at step 414 read ()!.
  • server 10 and client 12 specify a communication protocol type at steps 501 and 511, respectively socket ()!.
  • the server 10 and the client 12 assign a unique name to an unnamed socket at steps 502 and 512, respectively bind ()!.
  • the server 10 and the client 12 then check whether the ⁇ bind () ⁇ system call results in success or failure, at steps 503 and 513, respectively. If the ⁇ bind () ⁇ system call is successful, server 10 and client 12 will go to steps 505 and 515, respectively.
  • server 10 and client 12 will go to steps 504 and 514 respectively, to wait for a predetermined time and thereafter will return to the steps 502 and 512 respectively, to retry the ⁇ bind () ⁇ system call.
  • the predetermined time refers to the time delay by the system itself, as mentioned above.
  • client 12 will send the request data by using the socket descriptor designated by the socket ( ), at step 515 sendto ()!. Further, if the ⁇ bind () ⁇ system call is successful at step 503, server 10 will receive the request data by using the socket descriptor designated by the socket (), at step 505 recvfrom ( )!. Upon receiving the request data from client 12, server 10 executes the process according to the data request. Thereafter, server 10 sends the reply data corresponding to the data request, at step 506 sendto ()!. Then, client 12 receives the reply data from server 10 at step 516 recvfrom ()!.
  • the ⁇ bind () ⁇ system call attempt fails, the ⁇ bind () ⁇ system call will be retried only after a lapse of the predetermined time. Therefore, it is possible to avoid waste of the system resources and an increase of the load.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
US08/954,618 1996-11-07 1997-10-20 Socket binding method in communication system using socket function Expired - Lifetime US5941950A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019960052637A KR19980034552A (ko) 1996-11-07 1996-11-07 소켓기능을 이용한 통신시스템의 소켓바인딩 방법
KR96-52637 1996-11-07

Publications (1)

Publication Number Publication Date
US5941950A true US5941950A (en) 1999-08-24

Family

ID=19481095

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/954,618 Expired - Lifetime US5941950A (en) 1996-11-07 1997-10-20 Socket binding method in communication system using socket function

Country Status (8)

Country Link
US (1) US5941950A (ru)
JP (1) JPH10187567A (ru)
KR (1) KR19980034552A (ru)
CN (1) CN1099183C (ru)
DE (1) DE19748009B4 (ru)
FR (1) FR2755560B1 (ru)
GB (1) GB2319151A (ru)
RU (1) RU2171491C2 (ru)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6216163B1 (en) * 1997-04-14 2001-04-10 Lucent Technologies Inc. Method and apparatus providing for automatically restarting a client-server connection in a distributed network
US6487581B1 (en) * 1999-05-24 2002-11-26 Hewlett-Packard Company Apparatus and method for a multi-client event server
US20020199000A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US6529965B1 (en) * 2000-05-09 2003-03-04 3Com Corporation Method of detecting TCP/IP bindings of installed network interface cards present in a computer system
US6895590B2 (en) 2001-09-26 2005-05-17 Intel Corporation Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
US20060050717A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Reducing delays associated with port binding
US20070088849A1 (en) * 2005-10-18 2007-04-19 Akira Suzuki Structured document, terminal apparatus, and apparatus for generating structured document
US7254739B2 (en) 2003-11-19 2007-08-07 International Business Machines Corporation Error recovery in a client/server application using two independent sockets for communication
US20080040487A1 (en) * 2006-08-09 2008-02-14 Marcello Lioy Apparatus and method for supporting broadcast/multicast ip packets through a simplified sockets interface
US20080263531A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Automatic runtime control binding
CN102130944A (zh) * 2010-12-30 2011-07-20 中国民航信息网络股份有限公司 一种对自助柜机和自助系统的监控管理方法
US20150127801A1 (en) * 2000-12-14 2015-05-07 Borland Software Corporation Name service object clustering
US9332546B2 (en) 2011-11-25 2016-05-03 Huawei Technologies Co., Ltd. Radio resource optimizing method, apparatus, and system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451786B1 (ko) * 2000-11-30 2004-10-08 엘지전자 주식회사 이동통신 시스템의 소켓 자동 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2232855A (en) * 1989-06-07 1990-12-19 Secr Defence Computer network access control system
GB2259387A (en) * 1991-09-07 1993-03-10 Motorola Israel Ltd Communications apparatus
EP0613274A2 (en) * 1993-01-29 1994-08-31 International Business Machines Corporation Socket structure for concurrent multiple protocol access
WO1995008903A1 (en) * 1993-09-20 1995-03-30 Codex Corporation, A Subsidiary Company Of Motorola Inc. Method for dynamic connection management in integrated communication networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313655A (en) * 1992-01-30 1994-05-17 Motorola, Inc. Method for reducing control channel activity for limited audience communications
US5631897A (en) * 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5758084A (en) * 1995-02-27 1998-05-26 Hewlett-Packard Company Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2232855A (en) * 1989-06-07 1990-12-19 Secr Defence Computer network access control system
GB2259387A (en) * 1991-09-07 1993-03-10 Motorola Israel Ltd Communications apparatus
EP0613274A2 (en) * 1993-01-29 1994-08-31 International Business Machines Corporation Socket structure for concurrent multiple protocol access
WO1995008903A1 (en) * 1993-09-20 1995-03-30 Codex Corporation, A Subsidiary Company Of Motorola Inc. Method for dynamic connection management in integrated communication networks

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6216163B1 (en) * 1997-04-14 2001-04-10 Lucent Technologies Inc. Method and apparatus providing for automatically restarting a client-server connection in a distributed network
US6487581B1 (en) * 1999-05-24 2002-11-26 Hewlett-Packard Company Apparatus and method for a multi-client event server
US6529965B1 (en) * 2000-05-09 2003-03-04 3Com Corporation Method of detecting TCP/IP bindings of installed network interface cards present in a computer system
US20150127801A1 (en) * 2000-12-14 2015-05-07 Borland Software Corporation Name service object clustering
US20020199000A1 (en) * 2001-06-26 2002-12-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US6922727B2 (en) * 2001-06-26 2005-07-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US6895590B2 (en) 2001-09-26 2005-05-17 Intel Corporation Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
US7254739B2 (en) 2003-11-19 2007-08-07 International Business Machines Corporation Error recovery in a client/server application using two independent sockets for communication
US20060050717A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Reducing delays associated with port binding
US20070088849A1 (en) * 2005-10-18 2007-04-19 Akira Suzuki Structured document, terminal apparatus, and apparatus for generating structured document
US8180899B2 (en) * 2006-08-09 2012-05-15 Qualcomm Incorporated Apparatus and method for supporting broadcast/multicast IP packets through a simplified sockets interface
US20080040487A1 (en) * 2006-08-09 2008-02-14 Marcello Lioy Apparatus and method for supporting broadcast/multicast ip packets through a simplified sockets interface
US20080263531A1 (en) * 2007-04-20 2008-10-23 Microsoft Corporation Automatic runtime control binding
CN102130944A (zh) * 2010-12-30 2011-07-20 中国民航信息网络股份有限公司 一种对自助柜机和自助系统的监控管理方法
CN102130944B (zh) * 2010-12-30 2013-05-15 中国民航信息网络股份有限公司 一种对自助柜机和自助系统的监控管理方法
US9332546B2 (en) 2011-11-25 2016-05-03 Huawei Technologies Co., Ltd. Radio resource optimizing method, apparatus, and system

Also Published As

Publication number Publication date
KR19980034552A (ko) 1998-08-05
GB2319151A (en) 1998-05-13
CN1099183C (zh) 2003-01-15
JPH10187567A (ja) 1998-07-21
CN1182240A (zh) 1998-05-20
FR2755560B1 (fr) 2000-12-29
DE19748009B4 (de) 2008-09-25
RU2171491C2 (ru) 2001-07-27
FR2755560A1 (fr) 1998-05-07
DE19748009A1 (de) 1998-05-14
GB9723131D0 (en) 1998-01-07

Similar Documents

Publication Publication Date Title
US5941950A (en) Socket binding method in communication system using socket function
US5517488A (en) Method of load distribution for message processing in host system in local area network
US7150042B2 (en) Techniques for performing malware scanning of files stored within a file storage device of a computer network
US7093002B2 (en) Handling of malware scanning of files stored within a file storage device of a computer network
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
EP0613274A2 (en) Socket structure for concurrent multiple protocol access
US5867650A (en) Out-of-band data transmission
US20020120738A1 (en) Distributed data processing system and error analysis information saving method appropriate therefor
US7296190B2 (en) Parallel text execution on low-end emulators and devices
WO1997019411A1 (en) Registry communications middleware
JP2001147901A (ja) ローカル・ジョブ制御システムを有する分散処理システム内での外部ジョブ・スケジューリング方法及びシステム
US6678726B1 (en) Method and apparatus for automatically determining topology information for a computer within a message queuing network
US6145090A (en) Switch control method of redundantly structured computer system
US20040216126A1 (en) Method, system, and article of manufacture for agent processing
Cisco Troubleshooting the Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
Cisco Troubleshooting the SNA View Mainframe Application
JP2645065B2 (ja) 情報ダウンロードシステム
JP3472066B2 (ja) 露光装置、半導体生産システム及び半導体製造方法
US7055066B2 (en) Loading error restoring apparatus and method of exchange
WO1994028486A1 (en) Method of selecting a server object to service a client object request within a network environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONIC CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HWANG, YEONG-GIL;KIM, SOO-HYUN;KIM, JONG-HOON;REEL/FRAME:008862/0033

Effective date: 19970930

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12