KR100884988B1 - 네트워크 장치들 사이의 데이터 전송방법 - Google Patents

네트워크 장치들 사이의 데이터 전송방법 Download PDF

Info

Publication number
KR100884988B1
KR100884988B1 KR1020067027676A KR20067027676A KR100884988B1 KR 100884988 B1 KR100884988 B1 KR 100884988B1 KR 1020067027676 A KR1020067027676 A KR 1020067027676A KR 20067027676 A KR20067027676 A KR 20067027676A KR 100884988 B1 KR100884988 B1 KR 100884988B1
Authority
KR
South Korea
Prior art keywords
tunnel
data transmission
control module
data
target
Prior art date
Application number
KR1020067027676A
Other languages
English (en)
Other versions
KR20070026682A (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 KR20070026682A publication Critical patent/KR20070026682A/ko
Application granted granted Critical
Publication of KR100884988B1 publication Critical patent/KR100884988B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • 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/08Protocols for interworking; Protocol conversion
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/327Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 네트워크 장치들 사이의 데이터 전송방법을 제시하였으며, 본 발명에 따른 방법은 네트워크 장치에 터널제어모듈을 설치하고, 상기 데이터 전송방법은 1) 동일한 네트워크에서의 데이터 발송의 소스장치와 데이터 발송의 타깃장치의 터널제어모듈이 장치의 동작상황에 근거하여, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화(encapsulation)하고, 소스장치와 타깃장치 사이의 데이터 전송 터널을 구축하는 단계; 2) 소스장치의 터널제어모듈이 데이터 전송 터널에서의 일 유형 매체의 접속방식을 선택하여 데이터 전송을 진행하는 단계; 및 3) 데이터 전송과정에 다른 유형 매체의 접속방식으로 스위칭될 경우, 소스장치의 터널제어모듈이 새로운 매체의 네트워크 접속을 확립하여 데이터 전송을 계속 진행하는 단계를 포함한다. 본 발명의 방법을 적용하여 데이터 전송과정에서 이용가능한 접속방식을 자동으로 선택하여 데이터 전송을 진행할 수 있어서 이용자가 편리하게 이용할 수 있으며 시스템의 리소스를 절감할 수 있다.

Description

네트워크 장치들 사이의 데이터 전송방법{A method for data transmission between network apparatus}
본 발명은 네트워크 기술에 관한 것으로서, 더욱 상세하게는 네트워크 장치들(apparatus) 사이의 데이터 전송방법에 관한 것이다.
다양한 무선네트워크 기술이 점차 보급됨에 따라 무선네트워크를 통해 기타 네트워크 장치들과 접속하여, 무선 접속에 기반하여 정보를 송수신하는 네트워크 장치들이 날로 증가되고 있다.
무선신호가 가지고 있는 불안정 특성, 거리에 따라 무선신호의 강도 감쇠(attenuation) 특성 및 무선접속기능을 구비한 장치의 높은 이동특성으로 인해 네트워크 응용 프로그램 개발인원이 네트워크 접속, 특히, 무선네트워크 접속에 기반한 어플리케이션을 개발할 경우 반드시 부가적으로 네트워크 접속의 확립, 유지, 검측과정을 처리하는 동시에 응용의 각각의 부분에 충분한 네트워크 접속예외(exception) 처리를 도입하여야 하기에 응용 프로그램 개발에 많은 불편함을 주었다.
한편, 무선랜(WLAN), 블루투스(Bluetooth) 및 적외선 등 여러 무선 네트워크 접속기능을 일반적으로 동시에 구비하고 있는 노트북과 같은 일 유형 이상 네트워 크 접속방식을 동시에 구비하고 있는 네트워크 장치들이 점점 증가하고 있으나, 이러한 네트워크 접속수단은 단독으로 사용될 경우 일반적으로 불안정요소가 존재한다. 예를 들면, WLAN 접속의 전송거리가 비교적 멀지만 신호가 환경의 영향을 비교적 많이 받으며, Bluetooth 접속과 적외선 접속은 전송거리가 매우 제한되어 있다.
현재, 일부 네트워크 장치는 일 유형 이상의 네트워크 접속방식을 동시에 구비하고 있으나, 네트워크장치들 사이에서 데이터 전송을 1회 진행하는 경우에 일 유형 네트워크 접속방식만 선택할 수 있다. 일단 데이터 전송과정에서 예외상황이 발생하여 접속이 즉시 끊어지는 경우 이용자는 접속을 재생성하여 재전송해야 한다. 만일 네트워크가 불량하면 기타 접속방식으로 교체하거나 또는 기존의 접속방식으로 접속을 여러 번 재생성해야 하며, 전송과정 중에 이용가능한 접속방식으로 자동스위칭할 수 없기에 이용자에게 불편함을 준다. 또한 이 과정에서 한번으로 전송될 정보가 완전하게 전송완료되지 못하였을 경우에 이미 전송된 부분의 정보도 일반적으로 재전송이 필요하여 시스템 리소스도 낭비된다.
예를 들면, 2개의 노트북 사이에서 Bluetooth를 이용하여 전송을 진행하는 경우, 이때 그중 하나의 노트북 이용자가 반드시 떠나가야 할 경우 접속거리가 상대적으로 비교적 먼 WLAN 접속으로 전송할 수밖에 없으며, 그렇지 아니한 경우 2개의 노트북 사이의 거리가 Bluetooth 전송범위를 초과하면 접속이 자동으로 끊어지며 전송한 데이터도 소실될 가능성이 있다. 이는 노트북 사용자의 이용에 불편함을 주었고, 데이터 재전송은 시스템 리소스를 낭비하였다.
본 발명의 주요목적은 데이터 전송과정에서 이용가능한 접속방식을 자동으로 선택하여 데이터 전송을 진행할 수 있어 이용자가 편리하게 이용할 수 있는 네트워크 장치들 사이의 데이터 전송방법을 제공하는 것이다.
상기의 목적을 달성하기 위하여, 본 발명은 하기와 같은 기술방안을 제공한다.
네트워크 장치들 사이의 데이터 전송방법에 있어서, 상기 네트워크 장치에 터널제어모듈을 설치하고, 상기 데이터 전송방법은,
1) 동일한 네트워크에서의 데이터 발송의 소스장치와 데이터 발송의 타깃장치의 터널제어모듈이 장치의 동작상황에 근거하여 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하고, 소스장치와 타깃장치 사이의 데이터 전송 터널을 구축하는 단계;
2) 상기 소스장치의 터널제어모듈이 데이터 전송 터널에서의 일 유형 매체의 네트워크 접속방식을 선택하여 데이터 전송을 진행하는 단계; 및
3) 상기 데이터 전송과정에 다른 유형매체의 네트워크 접속방식으로 스위칭될 경우, 상기 소스장치의 터널제어모듈이 새로운 매체의 네트워크 접속을 확립하여 데이터 전송을 계속 진행하는 단계를 포함하는 것을 특징으로 하는 데이터 전송방법을 포함한다.
여기서, 상기 단계 1)은,
11) 동일한 네트워크에서 데이터 발송의 소스장치와 데이터 발송의 타깃장치의 터널제어모듈은 네트워크 멀티캐스트 주소에 의하여 상대방이 이용가능한 상이한 매체의 네트워크 접속방식을 취득하는 단계;
12) 상기 소스장치의 터널제어모듈은 이용가능한 일 유형 매체의 네트워크 접속방식을 선택하도록 소스장치를 제어하여 타깃장치와 네트워크 프로토콜 접속을 확립하는 단계;
13) 상기 소스장치의 터널제어모듈은 단계 12)에서 확립한 네트워크 프로토콜 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송하는 단계;
14) 상기 타깃장치의 터널제어모듈은 자체의 동작상황에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정한 후 상기 소스장치의 데이터 전송 터널 구축 응답을 리턴하고, 만일 상기 타깃장치가 데이터 전송 터널 구축을 허용하면, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속 방식을 데이터 전송 터널로 캡슐화하는 단계; 및
15) 상기 소스장치의 터널제어모듈은 상기 타깃장치에서 리턴된 데이터 전송 터널 구축 응답에 근거하여 상기 타깃장치가 데이터 전송 터널 구축을 허용하는지 여부를 판단하고, 만일 허용한다고 판단되었을 경우, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하여 데이터 전송 터널 구축이 성공되며, 그렇지 아니할 경우 데이터 전송 터널 구축이 실패되는 단계;를 포함할 수 있다.
또한, 상기 단계 1)은,
11a) 상기 소스장치의 터널제어모듈은 소스장치와 타깃장치를 소스 장치가 위치한 네트워크의 네트워크 프로토콜을 이용하도록 제어하여 네트워크 프로토콜 접속을 확립하는 단계;
12a) 상기 소스장치의 터널제어모듈은 단계 11a)에서 확립한 네트워크 프로토콜 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송하는 단계로서, 이 요구에는 소스 장치가 이용가능한 상이한 매체의 네트워크 접속방식을 포함하는 단계;
13a) 상기 타깃장치의 터널제어모듈은 자체의 동작상황에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정하는 단계로서, 만일 데이터 전송 터널 구축을 허용하는 경우, 자체와 상대방 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하고, 타겟장치로 이용가능한 상이한 매체의 네트워크 접속방식을 포함하고, 상기 타깃장치는 소스장치에 데이터 전송 터널 구축 응답을 리턴하는 단계; 및
14b) 상기 소스장치의 터널제어모듈은 상기 타깃장치에서 리턴된 데이터 전송 터널 구축 응답에 근거하여 타깃장치가 데이터 전송 터널 구축을 허용하는지 여부를 판단하는 단계로서, 만일 허용한다고 판단되었을 경우, 자체가 이용가능한 상이한 매체의 네트워크 접속방식과 응답에 포함되어 있는 상대방이 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하여 데이터 전송 터널 구축이 성공되며, 그렇지 아니한 경우 데이터 전송 터널 구축이 실패되는 단계;를 포함할 수 있다.
소스장치의 터널제어모듈은 소스장치에서의 데이터를 전송하려는 응용프로그램이 발송한 터널 구축 명령에 근거하여 소스장치와 타깃장치의 네트워크 프로토콜 접속을 확립하고, 이 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송할 수 있으며,
소스장치의 터널제어모듈은 타깃장치에서 리턴된 데이터 전송 터널 구축 응답을 수신한 후, 소스장치에서의 데이터를 전송하려는 응용프로그램에 터널 구축 성공 여부의 결과를 리턴한다.
상기의 응용프로그램에서 발송하는 터널 구축 명령에는 적어도 타깃장치의 장치식별자를 포함한다.
상기 소스장치의 터널제어모듈에서 발송하는 터널 구축 요구는 소스장치의 장치식별자, 타깃장치의 장치식별자, 희망하는 터널 지속시간을 더 포함하며,
상기 타깃장치의 터널제어모듈에서 리턴하는 터널 구축 응답은 터널 구축 성공 또는 실패 정보를 더 포함하고; 만일 터널 구축 성공인 경우 이 터널 구축 응답은 자체의 장치식별자, 소스장치의 식별자, 터널 유효시간을 더 포함한다.
상기 데이터 전송 터널의 캡슐화방법에는 소스장치와 타깃장치의 터널제어모듈이 각각 위치한 장치에서 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보를 터널 정보 테이블에 각각 써넣는 단계를 포함할 수 있다.
상기 데이터 전송 터널의 캡슐화방법에는 터널제어모듈이 이번의 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보를 생성(generate)하고, 또한 본 장치 중에 터널정보 테이블이 이미 존재하고 있는지 여부를 판단하며, 만일 존재하지 않는 경우 터널정보 테이블을 생성하고, 또 생성된 정보를 터널정보 테이블에 추가하며; 만일 이미 존재하고 있는 경우 생성된 정보를 직접 터널정보 테이블에 추가하는 단계를 포함할 수 있다.
상기 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보는 터널식별자, 이 터널 장치들 사이에서 공동으로 지원되는 네트워크 프로토콜 및 접속주소정보를 포함한다.
상기 소스장치가 복수 개의 타깃장치와 데이터 전송을 하는 경우, 이 소스장치는 터널제어모듈을 통해 복수 개의 타깃장치와 각각 데이터 전송 터널을 구축할 수 있다.
상기 단계 2)는,
21) 소스장치의 터널제어모듈은 이미 구축되어 있는 데이터 전송 터널과 대응되는 이용가능 상태의 활성화 네트워크 프로토콜 접속 존재 여부를 판단하고, 만일 존재하면 단계 22)를 실행하고, 만일 존재하지 않으면 이미 구축되어 있는 데이터 전송 터널에서 하나의 네트워크 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속 확립을 시도하며, 접속확립이 성공된 후 단계 22)를 실행하며, 접속확립이 실패되면 다음(next)의 공동으로 지원하는 네트워크 프로토콜을 선택하여 접속 확립을 시도하며, 만일 전부의 매칭 프로토콜을 시도한 후 여전히 접속 확립이 실패되면, 소스장치에 데이터 전송 터널을 이용할 수 없음을 보고하고 흐름을 종료하는 단계; 및
22) 터널제어모듈은 발송대기의 데이터를 현재 이용가능상태의 활성화의 네트워크 프로토콜 접속의 작업 대기열에 가입시켜 타깃장치에 데이터를 발송하는 단계를 포함할 수 있다.
단계 22)에서 발송대기의 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업 대기열에 가입시키는 단계는,
22a) 터널제어모듈은 이 이용가능한 접속에 있어서 발송대기의 데이터량 및 이 네트워크 접속의 데이터 발송 평균속도를 판단하고, 만일 발송대기의 데이터량이 초과되었거나 또는 네트워크 접속에서 발송하는 데이터의 평균속도가 너무 늦으면 단계 22b)를 실행하고, 그렇지 않으면 발송대기의 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업 대기열에 가입시키는 단계; 및
22b) 터널제어모듈은 현재 이용가능한 기타 네트워크 프로토콜 접속이 존재하는지 여부를 찾고, 만일 존재하면 단계 22a)로 리턴하고, 그렇지 않으면 데이터 전송 터널에서 소스장치가 타깃과 공동으로 매칭되는 네트워크 프로토콜을 선택하여, 새로운 네트워크 프로토콜 접속 확립을 시도하며, 만일 확립 성공인 경우, 발송대기의 데이터를 새로 확립한 네트워크 프로토콜 접속의 작업 대기열에 가입시키고, 그렇지 아니한 경우 발송대기의 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업 대기열에 가입시는 단계를 포함할 수 있다.
소스장치의 터널제어모듈은 소스장치의 데이터를 전송하려는 응용프로그램에서 발송한 데이터 전송명령을 수신한 후 단계 21)를 실행하며; 소스장치의 터널제어모듈은 데이터 발송 완료 또는 발송 실패 후, 데이터를 전송하려는 응용프로그램에 데이터 발송 성공 또는 실패 결과를 리턴한다.
상기 응용프로그램에서 발송한 데이터 전송명령은 적어도, 터널식별자, 타깃장치의 식별자, 타깃응용프로그램의 식별자와 발송하려는 소스데이터를 포함하며,
상기 발송대기의 데이터에 적어도 소스장치의 장치식별자, 데이터를 발송하는 응용프로그램의 식별자, 타깃장치의 식별자, 타깃응용프로그램의 식별자 및 발송하려는 소스데이터를 포함하고;
또한 타깃장치의 터널제어모듈은 데이터를 수신한 후, 데이터에서의 타깃응용프로그램의 식별자에 근거하여, 데이터를 타깃장치의 타깃프로그램에 디스패치한다.
상기 단계 3)은,
데이터 전송과정에서 데이터를 전송하는 네트워크 프로토콜 접속이 끊어지면, 소스장치의 터널제어모듈은 데이터 전송 터널에서 새로운 매체의 네트워크 접속방식을 선택하여 네트워크 프로토콜 접속을 확립하며; 만일 확립 성공인 경우 새로운 네트워크 프로토콜 접속을 이용하여 데이터를 계속 전송하는 동시에 소스장치에 통지하며, 그렇지 아니한 경우에는 소스장치에 데이터 발송 오류와 데이터 전송 터널을 이용할 수 없음을 통지하는 단계를 포함할 수 있다.
상기 방법은 데이터 전송 터널의 휴지기간에 소스장치의 터널제어모듈은 소스장치에 터널 검측 요구를 발송하는 단계; 타깃장치의 터널제어모듈은 이 검측 요구를 수신한 후, 자체의 동작상황에 의하여 소스장치에 터널 검측 응답을 리턴하는 단계; 및 만일 소스장치가 터널 응답을 수신하지 못하였거나 터널을 이용할 수 없다는 터널응답을 수신하였을 경우, 소스장치의 터널제어모듈이 이 터널을 삭제하는 단계를 더 포함할 수 있다.
상기 터널 검측 요구는 적어도 소스장치가 희망하는 터널 가용 시간 (available time)을 포함하며, 상기 터널 검측 응답에는 적어도 터널 가용 시간을 포함하며, 만일 소스장치가 수신한 터널 응답에서 터널 가용 시간이 0이면 이 터널을 이용할 수 없다.
상기 방법은 소스장치 또는 타깃장치의 터널제어모듈이 데이터 전송 완료 후, 이 데이터 전송 터널을 삭제하는 동시에 상대방 장치에 터널 닫기 통지를 발송하며, 상대방 장치는 이 닫기 통지를 수신한 후, 이 데이터 전송 터널을 삭제하는 것을 더 포함한다.
상기 터널제어모듈은 응용프로그램에서 발송하는 터널 닫기(close) 명령을 수신한 후, 상대방 장치에 터널 닫기 통지를 발송하며; 터널제어모듈은 이 데이터 전송 터널을 삭제한 후, 터널 닫기 명령을 발송한 응용프로그램에 터널 닫기 성공 또는 실패 결과를 리턴한다.
상기 기술방안으로부터 알 수 있는바, 본 발명의 이러한 네트워크 장치들 사이의 데이터 전송방법은 네트워크 장치에 장치들 사이에 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하고, 터널제어모듈로 터널에서 일 유형 네트워크 접속방식을 이용하여 데이터 전송을 진행하도록 제어한다. 만일 이 접속이 끊어지면, 이 터널제어모듈은 이 터널에서 다른 유형 네트워크 접속방식을 선택하여 접속을 자동으로 확립하여 데이터 전송을 진행한다. 이로 인하여 본 발명은 전송과정 중 만일 접속이 끊어지면, 이용가능한 접속방식에 자동으로 스위칭하며 데이터 전송을 계속 진행하여 이용자들을 편리하게 하였다.
도 1은 본 발명의 바람직한 일 실시예의 데이터 전송과정의 표시도이고,
도 2는 도 1에서 표시한 실시예에서 소스장치의 터널제어모듈이 데이터 전송 터널을 구축하는 흐름도이고,
도 3은 도 1에서 표시한 실시예에서 소스장치의 터널제어모듈이 데이터 전송을 진행하는 흐름도이다.
본 발명의 목적, 기술방안 및 장점을 더욱 명확하게 이해할 수 있도록 하기 위하여 도면을 참조하여 실시예를 통하여 본 발명을 보다 상세하게 설명한다.
본 발명의 이러한 네트워크에서의 장치들 사이의 데이터 전송방법은 네트워크에 터널제어모듈을 설치하고, 동일한 네트워크에서 데이터 발송 소스장치와 데이터발송 타깃장치의 터널제어모듈은 장치의 동작상황에 따라 소스장치와 타깃장치 전체가 이용가능한 상이한 매체(media)의 네트워크 접속방식을 데이터 전송 터널로 전부 캡슐화(encapsulation)하여 소스장치와 타깃장치 사이의 데이터 전송 터널을 구축하며 데이터 전송 터널에서의 일 유형 매체의 네트워크 접속방식으로 데이터 전송을 진행하며, 데이터 전송과정에서 다른 유형의 매체의 네트워크 접속방식으로 스위칭하는 경우, 소스장치의 터널제어모듈은 새로운 매체의 네트워크 접속을 확립하여 데이터 전송을 계속 진행한다.
본 발명에서는 소스장치와 타깃장치 전체가 사용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하고, 소스장치와 타깃장치 사이의 데 이터 전송 터널을 구축하는 두 가지 구현방식이 존재한다.
그 중 제1방식은 하기의 단계를 포함한다:
11) 동일한 네트워크에서 데이터 발송의 소스장치와 데이터 발송의 타깃장치의 터널제어모듈은 네트워크 멀티캐스트 주소에 의하여 상대방이 이용가능한 상이한 매체의 네트워크 접속방식을 취득하는 단계;
12) 소스장치와 타깃장치는 이용가능한 일 유형 매체의 네트워크 접속방식을 선택하여 네트워크 프로토콜 접속을 확립하는 단계;
13) 소스장치의 터널제어모듈은 단계 12)에서 확립한 네트워크 프로토콜 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송하는 단계;
14) 타깃장치의 터널제어모듈은 자체의 동작상황에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정한 후 소스장치에 데이터 전송터널 구축 응답을 리턴하고, 만일 타깃장치가 데이터 전송터널 구축을 허용하면, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식은 데이터 전송 터널로 캡슐화하는 단계; 및
15) 소스장치의 터널제어모듈은 타깃장치가 리턴한 데이터 전송 터널 구축 응답에 근거하여 타깃장치가 데이터 전송터널 구축 허용 여부를 판단하고, 만일 허용으로 판단되었을 경우, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하여 데이터 전송 터널 구축이 성공되며, 그렇지 아니한 경우 데이터 전송터널 구축이 실패되는 단계.
제2방식은 하기의 단계를 포함한다:
11a) 소스장치와 타깃장치는 그가 위치하고 있는 네트워크의 네트워크 프로토콜을 이용하여 네트워크 프로토콜 접속을 확립하는 단계;
12a) 소스장치의 터널제어모듈은 단계 11a)에서 확립한 네트워크 프로토콜 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송하는 단계로서, 이 요구에는 자체가 이용가능한 상이한 매체의 네트워크 접속방식을 포함하고;
13a) 타깃장치의 터널제어모듈은 자체의 동작상황에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정하며, 만일 데이터 전송 터널 구축을 허용하는 경우, 자체와 상대방이 모두 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하며, 이 응답에는 자체가 이용가능한 상이한 매체의 네트워크 접속방식을 포함하고;
상기 타깃장치는 소스장치에 데이터 전송 터널 구축 응답을 리턴하는 단계;
14b) 소스장치의 터널제어모듈은 타깃장치에서 리턴한 데이터 전송 터널 구축 응답에 근거하여 타깃장치의 데이터 전송 터널 구축 허용 여부를 판단하고, 만일 허용하는 경우, 자체가 이용가능한 상이한 매체의 네트워크 접속방식과 응답에 포함된 상대방이 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송 터널로 캡슐화하여, 데이터 전송 터널의 구축이 성공되며, 만일 그렇지 아니한 경우 데이터 전송 터널의 구축이 실패되는 단계.
상기의 두 가지 구현방식에서, 데이터 전송터널을 캡슐화하는 방법으로서, 소스장치와 타깃장치의 터널제어모듈은 자체가 위치한 장치에서 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보를 터널정보 테이블에 써넣으며, 이 터널정보 테이블은 그에 따르는 찾기(next search)에 이용될 수 있는 방법이다. 보다 구체적으로 말하면, 터널제어모듈은 이번의 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보를 생성하고, 또한 본 장치 중에 터널정보 테이블이 이미 존재하고 있는지 여부를 판단하며, 만일 존재하지 않는 경우, 터널정보 테이블을 구축하며, 생성된 정보를 터널정보 테이블에 추가하며, 만일 이미 존재하고 있을 경우, 생성된 정보를 직접 터널정보 테이블에 추가한다. 그중 소스장치와 목표장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식 정보는 터널식별자, 이 터널 장치들 사이에 공동으로 지원하는 네트워크 프로토콜, 접속주소정보를 포함할 수 있다.
이하 설명하는 본 발명의 실시예는 상술한 제1 유형의 구현방식으로서, 즉 동일한 네트워크에서 데이터발송의 소스장치와 데이터발송의 타깃장치의 터널제어모듈이 네트워크 멀티 캐스팅 주소를 획득하는 것을 통해 상대방의 이용가능한 상이한 매체의 네트워크 접속방식을 취득하는 것이다.
도 1을 참조하면, 도 1은 본 발명의 바람직한 실시예의 데이터 전송과정의 표시도이다. 이 흐름(flow)은 하기의 단계를 포함한다:
단계(101), 데이터 전송을 요구하는 소스장치의 응용 프로그램은 본 장치중의 터널제어모듈에 터널구축명령을 발송하며, 이 터널 구축명령에는 타깃장치의 장치 식별자를 포함한다.
단계(102), 소스장치의 터널제어모듈은 소스장치와 타깃장치의 예를 들면 TCP접속과 같은 네트워크접속을 확립하며, 터널구축명령중의 타깃장치 식별자에 근 거하여 타깃장치에 터널 구축 요구 메세지를 발송한다. 이 터널구축요구 메세지에는 소스장치의 장치 식별자, 타깃장치의 장치 식별자 및 희망하는 터널지속시간을 포함한다.
단계(103), 타깃장치의 터널제어모듈은 자체의 동작상황에 따라 테이터전송터널 구축을 허용할 것인지 여부를 결정한 후, 소스장치에 데이터 전송 터널구축 응답메세지를 리턴하는데, 만일 타깃장치가 데이터 전송 터널 구축을 허용하는 경우, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송터널로 캡슐화, 즉 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크접속방식 정보를 터널정보 테이블에 써 넣는다. 터널구축 응답메세지에는 터널구축 성공 또는 실패 정보를 포함하고, 만일 터널 구축이 성공되었다면, 이 터널구축 응답에는 자체의 장치식별자, 소스장치식별자 및 터널유효시간을 포함한다.
단계(104), 소스장치의 터널제어모듈은 타깃장치가 리턴한 데이터 전송터널구축 응답에 근거하여 타깃장치의 데이터 전송터널 구축 허용 여부를 판단하며, 만일 타깃장치가 데이터 전송터널 구축을 허용한다고 판단되는 경우, 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식을 데이터 전송터널로 캡슐화, 즉 소스장치와 타깃장치 전체가 이용가능한 상이한 매체의 네트워크 접속방식정보를 터널정보 테이블에 써넣으며, 데이터 전송터널 구축이 성공된다. 만일 그렇지 아니한 경우 데이터 전송터널구축은 실패된다. 소스장치의 터널제어모듈은 소스장치의 응용 프로그램에 터널구축 결과를 리턴한다.
단계(105), 소스장치의 응용 프로그램은 소스장치 터널제어모듈에 데이터 전송명령을 발송하며, 이 데이터전송명령에 터널 식별자, 타깃장치의 식별자, 타깃응용 프로그램의 식별자 및 발송될 소스데이터를 포함한다.
단계(106), 소스장치의 터널제어모듈은 데이터 전송명령을 수신한 후, 이 명령에 근거하여 데이터 전송터널에서 일 유형의 매체의 네트워크 접속방식을 선택하며, 발송대기 데이터를 타깃장치의 터널제어모듈에 발송한다. 그 중 발송대기 데이터에는 적어도 소스장치의 장치식별자, 데이터를 발송하는 응용 프로그램식별자, 타깃장치식별자, 타깃응용 프로그램 식별자 및 발송될 소스데이터를 포함한다.
단계(107), 타깃장치의 터널제어모듈은 데이터를 수신한 후, 데이터 중의 타깃응용 프로그램의 식별자에 근거하여, 데이터를 타깃장치 중의 타깃프로그램에 디스패치(dispatch) 발송한다.
단계(108), 소스장치의 터널제어모듈은 데이터 전송완료 또는 발송실패후, 소스장치의 응용 프로그램에 데이터 발송 성공 또는 실패결과를 리턴한다.
단계(109), 데이터 전송터널의 휴지(idle) 기간에 소스장치의 터널제어모듈은 타깃장치에 터널검측 요구를 발송하며, 이 터널검측 요구 중에는 소스장치가 희망하는 터널 가용 시간을 포함한다.
단계(110), 타깃장치의 터널제어모듈은 이 검측요구를 수신한 후, 자체 동작상황에 근거하여 소스장치에 터널검측 응답을 리턴하며, 이 터널 검측 응답 중에는 터널가용 시간을 포함한다. 만일 터널 이용이 불가능시 타깃장치의 터널제어모듈은 터널 검측응답 중에 포함된 터널 가용 시간을 0으로 한다.
만일 소스장치가 터널응답을 수신하지 못하였거나 터널 이용이 불가능하다는 터널응답을 수신하였을 경우, 소스장치의 터널제어모듈은 이 터널을 삭제한다.
단계(111), 소스장치의 응용 프로그램은 데이터전송을 완료한 후, 소스장치의 터널제어모듈에 터널 닫기 명령을 발송하며, 이 명령 중에는 닫기는 터널의 식별자를 포함한다.
단계(112), 소스장치의 터널제어모듈은 터널 닫기 명령을 수신한 후, 그 중의 터널식별자에 근거하여 이 데이터 전송터널을 삭제하며, 타깃장치에 터널 닫기통지를 발송한다. 타깃장치는 이 닫기 통지를 수신한 후 이 데이터 전송터널을 삭제한다.
단계(113), 소스장치의 터널제어모듈은 이 데이터전송터널을 삭제한 후, 터널 닫기 명령을 발송한 응용 프로그램에 터널 닫기 성공 또는 실패결과를 리턴한다.
본 실시예에서, 단계(102)~ 단계 (104)는 데이터전송터널 구축과정이고, 이 과정 중 소스장치의 터널제어모듈의 구체적인 처리과정을 도 2에 도시하였다. 도 2를 참조하면, 도 1에서 표시한 실시예 중에서 소스장치의 터널제어모듈이 데이터전송터널을 구축하는 흐름도이고, 이 흐름에는 하기의 단계를 포함한다:
단계(201), 소스장치의 터널제어모듈은 터널구축명령을 수신한 후, 소스장치와 목표장치의 데이터전송터널이 이미 존재하고 있는지 여부를 판단하며, 만일 존재하는 경우 단계(207)를 실행하며, 그렇지 아니한 경우 단계(202)를 실행한다.
단계(202), 소스장치의 터널제어모듈은 소스장치와 타깃장치를 제어하여 이 용가능한 일 유형 매체의 네트워크 접속방식을 선택하여 네트워크 프로토콜 접속을 확립한다. 예를 들면, TCP접속을 확립한다.
단계(203), 확립한 TCP접속 성공 여부를 판단하여, 만일 성공하였을 경우 단계(204)를 실행하며, 그렇지 아니한 경우 단계(208)를 실행한다.
단계(204), 소스장치의 터널제어모듈은 TCP접속을 통해 타깃장치에 터널구축요구를 발송한다.
단계(205), 터널구축성공 응답 수신여부를 판단하여, 만일 수신하였을 경우, 단계(206)를 실행하며, 그렇지 아니한 경우 단계(208)를 실행한다.
단계(206), 구축성공의 터널에 터널 식별자를 분배하며, 이 터널정보테이블에 대응되는 정보를 추가한다.
단계(207), 응용 프로그램에 터널구축결과를 리턴하며, 터널 구축 성공정보 및 터널 식별자를 응용 프로그램에 통지하며, 터널구축과정을 종료한다.
단계(208), 응용 프로그램에 터널구축결과를 리턴하며, 터널 구축 실패정보를 응용 프로그램에 보고하며, 터널 구축과정을 종료한다.
도 1에서 도시한 실시예에서, 단계(105)~ 단계(108)는 데이터 전송 과정이고, 이 과정 중 소스장치의 터널제어모듈의 구체적인 처리과정은 도 3을 참조한다. 도 3은 도 1에서 표시한 실시예 중 소스장치 터널제어모듈이 데이터 전송을 진행하는 흐름도이며, 이 흐름에는 하기의 단계를 포함한다:
단계(301), 소스장치의 터널제어모듈은 데이터 전송명령을 수신한 후, 명령중의 터널 식별자와 대응되는 터널의 존재 여부를 판단하며, 만일 존재하는 경우 단계 (302)를 실행하며, 그렇지 아니한 경우 단계 (310)를 실행한다.
단계(302), 현재 이용가능한 네트워크 프로토콜접속의 존재 여부를 판단하며, 만일 존재하는 경우 단계 (303)를 실행하며, 그렇지 아니한 경우 단계(305)를 실행한다.
단계(303), 이용가능한 네트워크 프로토콜 접속 상에서 발송대기의 데이터량 및 이 네트워크 프로토콜 접속에서 발송되는 데이터의 평균속도의 크기를 판단하며, 만일 발송대기의 데이터량이 초과되었거나 또는 이 네트워크접속의 데이터 발송 평균속도가 너무 낮으면, 단계(304)를 실행하고 그렇지 아니한 경우 단계(307)를 실행한다.
단계(304), 현재에 이용가능한 기타 네트워크 프로토콜 접속이 존재하고있는지 여부를 찾아 판단하며, 만일 존재하는 경우 단계(303)에 리턴하며, 그렇지 아니한 경우 단계(305)를 실행한다.
단계(305), 데이터 전송터널 중에서 소스장치가 타깃과 공동으로 매칭되는 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속의 확립을 시도한다.
단계(306), 새로운 네트워크 프로토콜 접속을 확립함에 있어서 확립 성공 여부를 판단하며, 만일 성공인 경우, 단계(307)를 실행하고, 그렇지 아니한 경우 단계(310)를 실행한다.
단계(307), 발송대기의 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업(task) 대기열에 가입시켜 데이터를 발송한다.
단계(308), 발송 성공 여부를 판단하며, 만일 성공인 경우 단계(309)를 실행 하고, 그렇지 아니한 경우 단계(310)를 실행한다.
단계(309), 응용 프로그램에 데이터 발송결과를 리턴하며, 데이터 발송 성공을 보고한 후 데이터 전송과정을 종료한다.
단계(310), 응용 프로그램에 데이터 발송결과를 리턴하며, 데이터 발송 오류 및 오류 원인을 통지하며, 데이터 전송과정을 종료한다.
상기 과정에서 만일 발송대기의 데이터량이 초과되었거나 네트워크 접속의 데이터 발송 평균속도가 너무 낮아서, 네트워크 프로토콜 접속을 재확립하였지만 성공되지 못하였을 경우, 기존의 네트워크 프로토콜 접속을 이용하여 데이터 전송을 진행해도 된다. 단지 전송 효율이 비교적 낮을 뿐이다.
만일 데이터 전송과정에서 전송데이터의 네트워크 프로토콜 접속이 외부원인으로 끊어졌을 경우, 소스장치의 터널제어모듈은 데이터 전송 터널에서 새로운 매체의 네트워크 접속방식을 선택하여, 네트워크 프로토콜 접속을 확립하며, 만일 확립에 성공하면 새로운 네트워크 프로토콜접속을 이용하여 데이터를 계속 전송하고 소스장치에 통지하며, 만일 그렇지 아니한 경우 소스장치에 데이터 발송 오류 및 데이터 전송터널을 이용할 수 없음을 통지한다.
본 실시예에서 터널제어모듈은 터널구축 인터페이스, 데이터 전송 인터페이스, 터널검측 인터페이스, 터널닫기 인터페이스를 설치할 수 있다. 소스장치는 터널제어모듈의 이러한 인터페이스를 호출하여 터널 구축, 데이터 전송, 터널 검측 및 터널 닫기 등의 기능을 구현할 수 있다.
만일 본 실시예에서 소스장치가 복수 개의 타깃장치와 데이터 전송을 진행하 려면, 이 소스장치는 각각 터널제어모듈과 복수 개의 타깃장치들을 통해 데이터 전송터널을 구축하는데, 데이터 전송터널 구축 방법은 동일하나, 데이터 전송터널이 이용하는 포트는 상이하다. 예를 들면, 소스장치는 하나의 블루투스 포트만 포함하고, 만일 이 포트가 이미 타깃장치(1)의 하나의 데이터 전송터널에 캡슐화되어 있는 경우, 이 포트는 소스장치와 타깃장치(2)의 데이터 전송터널에 캡슐화될 수 없다.
만일 도 1에서 표시한 실시예에서, 소스장치는 노트북(1), 타깃장치는 노트북(2)이고, 이들은 동일한 WLAN에 위치하고 있다. 노트북(1)과 노트북(2)에 터널제어모듈(1)과 터널제어모듈(2)이 설치되어 있으며, 모두 WLAN과 블루투스 네트워크 어댑터를 구비하고 있다. 노트북(1)의 WLAN 네트워크 어댑터에 TCP/IP 프로토콜을 업로드(upload)하였으며, IP주소가 192.168.0.1이고, 청취포트가 1234이며, 노트북(1)의 블루투스 네트워크 어댑터에 시리얼 포트(serial port) Profile을 업로드하였으며, 시뮬레이션 후의 시리얼 포트번호가 시리얼 포트2이다. 노트북(2)의 WLAN 네트워크 어댑터에 TCP/IP프로토콜을 업로드하였으며, IP 주소가 192.168.0.2이고, 청취포트가 2345이며, 노트북(2)의 블루투스네트워크 어댑터에 serial port Profile를 업로드하였으며, 시뮬레이션한 시리얼 포트번호가 시리얼 포트3이다. 노트북(1)의 응용 프로그램 Fc는 파일전송기능을 구현하는 클라이언트(client-side)이며, 노트북(2)의 응용 프로그램 Fs는 파일전송기능을 구현하는 서버이다.
노트북(1)과 노트북(2)는 각각 포트 1234와 포트 2345를 청취하여, 상대방이 네트워크 멀티캐스트 주소에 발송하는 자체가 이용가능한 상이한 매체의 네트워크 접속방식을 청취한다.
이러한 노트북(1)의 Fc에서 노트북(2)의 Fs에 데이터를 전송하는 과정은 하기한 바와 같다.
1. 노트북(1)의 Fc는 터널제어모듈(1)에 터널구축명령을 발송한다.
2. 터널제어모듈(1)은 노트북(1)과 노트북(2) 전체가 이용가능한 일 유형의 매체의 네트워크접속방식을 선택하여, 네트워크 프로토콜접속을 확립하며, 본 실시예에서는 TCP/IP 프로토콜접속을 선택하여 노트북(1)과 노트북(2) 사이의 TCP 접속을 확립한다.
3. 터널제어모듈(1)은 확립한 TCP 접속을 통해 노트북(2)에 터널구축요구 메세지를 발송한다. 이 터널요구 메세지는 표 1에 표시한 바와 같다.
메세지 영역 취하는 값 비고
MessageType CreatePipeRequest 터널구축요구
SourceDeviceID Urn:IGRS:device:deviceID:xxxxx 소스장치의 식별자
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 타깃장치의 식별자
ClientID 32bit UINT 터널구축을 발신한 응용 프로그램의 식별자
Time 1800 터널이용시간:1800초
4. 노트북(2) 중의 터널제어모듈(2)은 터널구축요구 메세지를 수신한 후, 노트북(2)의 현재 동작상황에 근거하여 터널구축요구를 수락(accept)하며, 노트북(1)에 터널구축 응답메세지를 발송한다. 이 터널구축 응답 메세지는 표 2에 표시한 바와 같다.
메세지영역 취하는 값 비고
MessageType CreatePipeResponse 터널구축응답
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 터널구축요구를 발신한 장치 식별자
SourceDeviceID Urn:IGRS:device:deviceID:xxxxx 터널구축응답메세지를 발송한 장치 식별자
ResultCode Success 터널구축 성공
Time 1800 터널이용시간:1800초
만일 노트북(2)의 터널제어모듈(2)가 터널구축요구를 접수하지 않을 경우, 표 2에서 표시하는 응답메세지의 ResultCode 영역의 값이 실패이다.
5. 노트북(1)의 소프트웨어모듈이 터널구축 응답메세지를 수신한후, 프로그램Fc에 터널구축 성공 또는 실패 결과를 보고한다. Fc는 터널구축 성공결과 보고를 수신한 후, 터널을 통해 Fs에 데이터를 발송할 수 있다. 데이터 발송 메세지는 표 3에 표시한 바와 같다.
메세지영역 취하는 값 비고
MessageType DataSend 데이터 발송 메세지
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(2)의 장치 식별자
SourceDeviceID Urn:IGRS:Device:deviceID:xxxxx 노트북(1) 의 장치 식별자
ClientID 1 Fc프로그램의 식별자
ServiceID 1 Fs프로그램의 식별자
Data <Data>……</Data> XML로 캡슐화된 소스데이터
그 중 Data 영역은 기타 형식으로 캡슐화된 소스데이터일 수도 있다.
본 실시예에서, 만일 노트북(1)의 응용 프로그램 Fc가 Fs에 대량의 데이터를 발송하는 경우, 노트북(1)의 소프트웨어모듈은 새로운 TCP 접속을 확립한 것을 통해 데이터전송요구를 만족시킬 수 있다. 이러한 경우, 터널정보 테이블은 표 4에 표시한 바와 같다.
장치식별자 Urn:IGRS:device:deviceID:xxxxx 노트북(2)의 장치 식별자
이용가능한 접속 리스트 Protocol:TCP Socket:123 Socket:126 노트북(1)과 노트북(2)가 확립한 2개 TCP접속
매칭되는 프로토콜 리스트 TCP:192.168.0.2: 2345 SerialPort:2 노트북2와 접속을 확립할 수 있는 네트워크 프로토콜 정보 리스트
발송대기 데이터 상황 Socket:123:100KB Socket:126:200KB 각각의 TCP접속상에서 현재 발송대기의 데이터량
터널 가용 시간 1800 가용 시간: 30초
터널 관련 프로그램 식별자 ProgramID:1 이 터널과 관련된 응용 프로그램 식별자, 터널을 생성한 응용 프로그램 식별자 및 이 터널을 이용하는 응용 프로그램 식별자를 포함
만일 데이터 전송과정에서 외부의 원인으로 2개 TCP접속이 끊어지면, 노트북(1)의 터널제어모듈은 데이터가 현재 발송된 위치를 기록하고, 데이터전송터널에서 SerialPort:2를 선택하여 접속을 시도한다. 만일 접속확립이 성공되면, 노트북(1)의 터널제어모듈은 기록한 데이터위치에 근거하여 SerialPort:2를 통해 데이터를 계속 발송한다. 만일 접속확립이 실패되면, 터널제어모듈은 Fc에 데이터전송오류 및 현재 터널을 이용할 수 없음을 통지한다.
노트북(1)과 노트북(2)는 발송대기 데이터 전부가 발송완료된 후 즉 터널 휴지기간에 노트북(1)의 터널제어모듈은 노트북(2)에 정기적으로 터널검측 메세지를 발송하여 터널 이용 가능성을 검측한다. 터널 검측요구 메세지는 표 5에 표시한 바와 같다.
메세지영역 취하는 값 비고
MessageType PipeDetectRequest 터널검측요구
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(2)의 장치 식별자
SourceDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(1)의 장치 식별자
Time 1200 터널 가용 시간 20초
노트북(2)의 터널제어모듈은 노트북(1)의 터널검측요구를 수신한 후, 실제 상황에 근거하여 터널검측 응답메세지를 발송한다. 만일 이때 노트북(2)의 부하가 너무 크면, 노트북(2)의 터널제어모듈은 터널 가용 시간이 0인 검측 응답메세지를 발송할 수 있다. 이 메세지는 표 6에 표시한 바와 같다.
메세지영역 취하는 값 비고
MessageType PipeDetectResponse 터널검측응답
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(1)의 장치 식별자
SourceDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(2)의 장치 식별자
Time 0 터널 가용 시간 0초, 터널은 이미 이용 불가능 함
노트북(1) 또는 (2)의 터널제어모듈은 터널 구축 성공 후, 필요에 따라 상대방에 터널 닫기 통지 메세지를 발송하여 이 터널을 다시 이용할 수 없음을 상대방에게 통지한다. 터널 닫기 통지 메세지는 표 7에 표시한 바와 같다.
메세지영역 취하는 값 비고
MessageType PipeCloseNotify 터널 닫기 통지
TargetDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(1)의 장치 식별자
SourceDeviceID Urn:IGRS:device:deviceID:xxxxx 노트북(2)의 장치 식별자
본 실시예는 노트북 사이의 무선데이터 전송에 적용가능하며, 또한 노트북과 핸드폰사이, 핸드폰 사이, 핸드폰과 PDA 사이, PDA 사이, PDA와 노트북 사이 등 각 유형의 네트워크 장치들 사이의 무선데이터 전송에도 적용된다. 유선네트워크의 네트워크 장치들 사이의 유선데이터 전송에도 적용되는 것은 물론이다.
상기의 실시예에서 볼 수 있는바, 본 발명의 이런 네트워크 장치들 사이의 전송방법은, 데이터전송 과정 중 이용가능한 접속방식을 자동으로 선택하여 데이터전송을 진행할 수 있어 이용자가 편리하게 이용할 수 있으며, 시스템 리소스를 절감할 수 있다.

Claims (37)

  1. 네트워크에서 장치들 간의 데이터 전송방법에 있어서,
    상기 장치들 각각에 터널제어모듈을 설치하고,
    상기 데이터 전송방법은,
    1) 동일한 네트워크에서 데이터 전송 소스장치의 터널제어모듈과 데이터 전송 타깃장치의 터널제어모듈에 의해, 네트워크 멀티캐스트 주소(network multicast address)를 감지함으로써 상대방에게 이용가능한 상이한 매체 네트워크 접속방식들을 취득하는 단계;
    2) 동일한 네트워크에서 데이터 전송 소스장치의 터널제어모듈과 데이터 전송 타깃장치의 터널제어모듈 각각에 의해, 장치들의 동작 부하(operating loads)에 따라서, 상기 소스장치 및 상기 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하고, 상기 소스장치와 상기 타깃장치 사이에 상기 데이터 전송 터널을 구축하는 단계;
    3) 상기 소스장치의 터널제어모듈에 의해, 상기 데이터 전송 터널에 대하여 일 유형의 매체 네트워크 접속방식을 선택하여 데이터 전송을 진행하는 단계; 및
    4) 상기 데이터 전송 중에 다른 유형의 매체 네트워크 접속방식으로 스위칭할 필요가 있는 경우에, 상기 소스장치의 터널제어모듈에 의해, 새로운 매체 네트워크 접속을 확립하여 상기 데이터 전송을 계속 진행하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  2. 제1항에 있어서,
    상기 단계 2)는,
    21) 상기 소스장치의 터널제어모듈은 이용가능한 일 유형의 매체 네트워크 접속방식을 선택하도록 소스장치를 제어하여 타깃장치와 네트워크 프로토콜 접속을 확립하는 단계;
    22) 상기 소스장치의 터널제어모듈은 단계 21)에서 확립한 네트워크 프로토콜 접속을 통해 타깃장치에 데이터 전송 터널 구축 요구를 발송하는 단계;
    23) 상기 타깃장치의 터널제어모듈은 자체의 동작 부하(operating load)에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정한 후 상기 소스장치에게 데이터 전송 터널 구축 응답을 리턴하고, 만일 상기 타깃장치가 데이터 전송 터널 구축을 허용하면, 소스장치와 타깃장치 모두가 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하는 단계; 및
    24) 상기 소스장치의 터널제어모듈은 상기 타깃장치에서 리턴된 데이터 전송 터널 구축 응답에 근거하여 상기 타깃장치가 데이터 전송 터널 구축을 허용하는지 여부를 판단하고, 만일 허용한다고 판단되었을 경우에는 소스장치와 타깃장치 모두가 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하여 데이터 전송 터널 구축이 성공되며, 그렇지 아니할 경우에는 데이터 전송 터널 구축이 실패되는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  3. 삭제
  4. 제2항에 있어서,
    상기 소스장치의 터널제어모듈이 소스장치에서 데이터를 전송하려는 응용프로그램이 발송한 터널 구축 명령에 근거하여, 소스장치와 타깃장치의 네트워크 프로토콜 접속을 확립하고, 이 접속을 통해 타깃장치에 테이터 전송 터널 구축 요구를 발송하는 단계; 및
    상기 소스장치의 터널제어모듈은 타깃장치에서 리턴된 데이터 전송 터널 구축 응답을 수신한 후, 상기 소스장치에서 데이터를 전송하려는 응용프로그램에게 터널 구축 성공 여부를 나타내는 결과를 리턴하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  5. 제4항에 있어서,
    상기 응용프로그램에서 발송하는 터널 구축 명령은 하나 이상의 타깃장치의 장치식별자를 포함하는 것을 특징으로 하는 데이터 전송방법.
  6. 제2항에 있어서,
    상기 소스장치의 터널제어모듈에서 발송하는 터널 구축 요구는 소스장치의 장치식별자, 타깃장치의 장치식별자, 희망하는 터널지속시간을 더 포함하고,
    상기 타깃장치의 터널제어모듈에서 리턴하는 터널 구축 응답은 터널 구축 성공 또는 실패 정보를 더 포함하며,
    만일 터널 구축 성공인 경우에, 상기 터널 구축 응답은 타깃장치의 장치식별자, 소스장치의 식별자, 터널 유효시간을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  7. 제1항 또는 제2항에 있어서,
    상기 데이터 전송 터널의 캡슐화 단계는,
    소스장치의 터널제어모듈과 타깃장치의 터널제어모듈 각각에 의해, 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들을 각 터널제어모듈이 속하는 장치 내의 터널 정보 테이블에 각각 써넣는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  8. 제7항에 있어서,
    상기 데이터 전송 터널의 캡슐화 단계는,
    현재 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들에 관한 정보를 터널제어모듈에 의해 생성하고, 상기 터널제어모듈이 속하는 장치 내에 터널 정보 테이블이 존재하는지 여부를 판단하고, 만일 존재하지 않는 경우에는 터널 정보 테이블을 생성하고 상기 생성된 정보를 터널 정보 테이블에 추가하며, 만일 이미 존재하고 있는 경우에는 상기 생성된 정보를 터널 정보 테이블에 바로 추가하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  9. 제7항에 있어서,
    상기 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체의 네트워크 접속방식들에 관한 정보는 터널 식별자, 및 상기 소스장치와 상기 타깃장치에 의해 공통적으로 지원되는 네트워크 프로토콜들과 접속 주소들에 관한 정보를 포함하는 것을 특징으로 하는 데이터 전송방법.
  10. 제1항 있어서,
    상기 소스장치가 복수 개의 타깃장치들과 데이터 전송을 하는 경우에,
    상기 소스장치는 터널제어모듈을 통해 복수 개의 타깃장치들 각각과 데이터 전송 터널을 구축하는 것을 특징으로 하는 데이터 전송방법.
  11. 제1항에 있어서,
    상기 단계 3)은,
    31) 이용가능한 상태에 있으며 구축된 데이터 전송 터널에 상응하는 활성화된 네트워크 프로토콜 접속이 현재 존재하는지를 상기 소스장치의 터널제어모듈에 의해 판단하고, 만일 존재하면 단계 32)를 실행하고, 만일 존재하지 않는 경우에는 구축된 데이터 전송 터널로부터 하나의 네트워크 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속 확립을 시도하고, 접속 확립의 성공 후에 단계 32)를 실행하고, 접속 확립이 실패되면 다음(next)의 공통적으로 지원되는 네트워크 프로토콜을 선택하여 접속 확립을 시도하며, 만일 모든 매칭된 프로토콜들이 시도된 후에도 여전히 접속 확립이 실패되면 소스장치에게 상기 데이터 전송 터널이 이용가능하지 않음을 보고하고 절차가 종료되는 단계; 및
    32) 상기 터널제어모듈에 의해, 타깃장치로 데이터를 발송하기 위해 발송대기의 데이터를 현재 이용가능한 상태에 있는 활성화된 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  12. 제11항에 있어서,
    상기 단계 32)에서, 발송대기의 데이터를 현재 이용가능한 상태에 있는 활성화된 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계는,
    32a) 이용가능한 접속에서의 발송대기 데이터량 및 네트워크 접속에서의 데이터 발송 평균속도를 상기 터널제어모듈에 의해 판단하고, 만일 발송대기 데이터량이 소정의 기준량보다 많거나 또는 네트워크 접속에서의 데이터 발송 평균속도가 소정의 기준속도보다 낮으면 단계 32b)를 실행하고, 그렇지 않으면 발송대기 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계; 및
    32b) 현재 이용가능한 기타 네트워크 프로토콜 접속이 존재하는지 여부를 상기 터널제어모듈에 의해 찾고, 만일 존재하면 단계 32a)로 리턴하고, 그렇지 않으면 소스장치와 타깃장치 사이에 공통적으로 매칭되는 네트워크 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속 확립을 시도하며, 만일 접속 확립이 성공이면 발송대기의 데이터를 새롭게 확립된 네트워크 프로토콜 접속의 작업 대기열에 가입시키고, 그렇지 않으면 발송대기의 데이터를 원래의 이용가능한 네트워크 프로토콜 접속의 작업 대기열에 가입시키는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  13. 제11항에 있어서,
    상기 소스장치의 터널제어모듈은 소스장치에서 데이터를 전송하려는 응용프로그램에 의해 발송된 데이터 전송명령을 수신한 후에 단계 31)을 실행하며,
    상기 소스장치의 터널제어모듈은 데이터를 전송하려는 응용프로그램에게 데이터 발송 완료 또는 발송 실패 후에 데이터 발송 성공 또는 발송 실패를 나타내는 결과를 리턴하는 것을 특징으로 하는 데이터 전송방법.
  14. 제13항에 있어서,
    상기 응용프로그램에 의해 발송된 데이터 전송명령은 적어도 터널식별자, 타깃장치 식별자, 타깃 응용프로그램의 식별자, 및 발송될 소스데이터를 포함하고,
    상기 발송대기의 데이터는 적어도 소스장치의 장치식별자, 데이터를 발송하는 응용프로그램의 식별자, 타깃장치의 식별자, 타깃 응용프로그램의 식별자, 및 발송될 소스데이터를 포함하며,
    상기 타깃장치의 터널제어모듈은 데이터를 수신한 후에 데이터에서의 타깃 응용프로그램의 식별자에 근거하여, 데이터를 타깃장치에서의 타깃 응용프로그램으로 디스패치(dispatch)하는 것을 특징으로 하는 데이터 전송방법.
  15. 제1항에 있어서,
    상기 단계 4)는,
    상기 데이터 전송 중에 데이터를 전송하는 네트워크 프로토콜 접속이 단절되면, 소스장치의 터널제어모듈은 데이터 전송 터널에 대하여 새로운 매체 네트워크 접속방식을 선택하여 네트워크 프로토콜 접속을 확립하고, 만일 접속 확립이 성공하면 상기 새로운 네트워크 프로토콜 접속을 이용하여 데이터 전송을 계속하고 소스장치에게 통지하며, 그렇지 않으면 소스장치에게 데이터 발송 오류와 데이터 전송 터널을 이용할 수 없음을 통지하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  16. 제1항에 있어서,
    상기 데이터 전송 터널의 휴지기간에, 소스장치의 터널제어모듈이 타깃장치에게 터널 검측 요구를 발송하는 단계;
    상기 타깃장치의 터널제어모듈이 상기 검측 요구를 수신한 후에 자체의 동작 부하(operating load)에 근거하여 소스장치에게 터널 검측 응답을 리턴하는 단계;
    만일 소스장치가 아무런 터널 응답을 수신하지 못하거나 터널을 이용할 수 없다는 터널응답을 수신하면, 상기 소스장치의 터널제어모듈이 상기 터널을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  17. 제16항에 있어서,
    상기의 터널 검측 요구는 적어도 소스장치가 희망하는 터널 가용 시간을 포함하고, 상기 터널 검측 응답은 적어도 터널 가용 시간을 포함하며, 소스장치에 의해 수신된 터널 응답에서의 터널 가용 시간이 0(zero)이면 상기 터널은 이용불능인 것을 특징으로 하는 데이터 전송방법.
  18. 제1항에 있어서,
    데이터 전송 완료 후에 상기 소스장치의 터널제어모듈 또는 상기 타깃장치의 터널제어모듈이 상기 데이터 전송 터널을 삭제하고, 상대방 장치에게 터널 닫기 통지를 발송하며, 상대방 장치가 상기 닫기 통지를 수신한 후에 상기 데이터 전송 터널을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  19. 제1항에 있어서,
    상기 터널제어모듈이 응용프로그램에 의해 발송된 터널 닫기 명령을 수신한 후에 상대방 장치에게 터널 닫기 통지를 발송하고,
    데이터 전송 터널을 삭제한 후에 상기 터널제어모듈이 터널 닫기 명령을 발송한 응용프로그램에게 터널 닫기 성공 또는 닫기 실패를 나타내는 결과를 리턴하는 것을 특징으로 하는 데이터 전송방법.
  20. 네트워크에서 장치들 간의 데이터 전송방법에 있어서,
    상기 장치들 각각에 터널제어모듈을 설치하고,
    상기 데이터 전송방법은,
    1) 동일한 네트워크에서 데이터 전송 소스장치의 터널제어모듈과 데이터 전송 타깃장치의 터널제어모듈 각각에 의해, 장치들의 동작 부하(operating loads)에 따라서, 상기 소스장치 및 상기 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하고, 상기 소스장치와 상기 타깃장치 사이에 상기 데이터 전송 터널을 구축하는 단계;
    2) 상기 소스장치의 터널제어모듈에 의해, 상기 데이터 전송 터널에 대하여 일 유형의 매체 네트워크 접속방식을 선택하여 데이터 전송을 진행하는 단계;
    3) 상기 소스장치의 터널제어모듈에 의해, 상기 소스 장치가 위치하는 네트워크의 네트워크 프로토콜을 이용하여 상기 타깃장치와의 네트워크 프로토콜 접속을 확립하는 단계; 및
    4) 상기 데이터 전송 중에 다른 유형의 매체 네트워크 접속방식으로 스위칭할 필요가 있는 경우에, 상기 소스장치의 터널제어모듈에 의해, 새로운 매체 네트워크 접속을 확립하여 상기 데이터 전송을 계속 진행하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  21. 제20항에 있어서,
    상기 단계 1)은,
    11a) 상기 소스장치의 터널제어모듈이 상기 단계 3)에서 확립된 네트워크 프로토콜 접속을 통해 상기 타깃장치에게 데이터 전송 터널 구축 요구를 발송하는 단계[여기서, 상기 터널 구축 요구는 소스 장치 자체에게 이용가능한 상이한 매체 네트워크 접속방식들을 포함함];
    12a) 상기 타깃장치의 터널제어모듈이 자체의 동작 부하(operating load)에 근거하여 데이터 전송 터널 구축을 허용할 것인지 여부를 결정하고, 만일 데이터 전송 터널 구축이 허용되면 그 자체 및 상대방 모두에게 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하고, 타깃장치 자체에게 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널 구축 응답에 포함시키며, 상기 타깃장치가 상기 데이터 전송 터널 구축 응답을 상기 소스장치에게 리턴하는 단계;
    13a) 상기 소스장치의 터널제어모듈이 상기 타깃장치에 의해 리턴된 데이터 전송 터널 구축 응답에 근거하여 상기 타깃장치가 데이터 전송 터널 구축을 허용하는지 여부를 판단하고, 만일 데이터 전송 터널 구축이 허용되면 소스장치 자체에게 이용가능한 상이한 매체 네트워크 접속방식들 및 상기 응답에 포함되어 있는 상대방에게 이용가능한 상이한 매체 네트워크 접속방식들을 데이터 전송 터널에 캡슐화하고 데이터 전송 터널 구축이 성공되며, 그렇지 않으면 데이터 전송 터널 구축이 실패되는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  22. 제21항에 있어서,
    상기 소스장치의 터널제어모듈이 소스장치에서 데이터를 전송하려는 응용프로그램이 발송한 터널 구축 명령에 근거하여, 소스장치와 타깃장치의 네트워크 프로토콜 접속을 확립하고, 이 접속을 통해 타깃장치에 테이터 전송 터널 구축 요구를 발송하는 단계; 및
    상기 소스장치의 터널제어모듈은 타깃장치에서 리턴된 데이터 전송 터널 구축 응답을 수신한 후, 상기 소스장치에서 데이터를 전송하려는 응용프로그램에게 터널 구축 성공 여부를 나타내는 결과를 리턴하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  23. 제22항에 있어서,
    상기 응용프로그램에서 발송하는 터널 구축 명령은 하나 이상의 타깃장치의 장치식별자를 포함하는 것을 특징으로 하는 데이터 전송방법.
  24. 제21항에 있어서,
    상기 소스장치의 터널제어모듈에서 발송하는 터널 구축 요구는 소스장치의 장치식별자, 타깃장치의 장치식별자, 희망하는 터널지속시간을 더 포함하고,
    상기 타깃장치의 터널제어모듈에서 리턴하는 터널 구축 응답은 터널 구축 성공 또는 실패 정보를 더 포함하며,
    만일 터널 구축 성공인 경우에, 상기 터널 구축 응답은 타깃장치의 장치식별자, 소스장치의 식별자, 터널 유효시간을 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  25. 제20항 또는 제21항에 있어서,
    상기 데이터 전송 터널의 캡슐화 단계는,
    소스장치의 터널제어모듈과 타깃장치의 터널제어모듈 각각에 의해, 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들을 각 터널제어모듈이 속하는 장치 내의 터널 정보 테이블에 각각 써넣는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  26. 제25항에 있어서,
    상기 데이터 전송 터널의 캡슐화 단계는,
    현재 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체 네트워크 접속방식들에 관한 정보를 터널제어모듈에 의해 생성하고, 상기 터널제어모듈이 속하는 장치 내에 터널 정보 테이블이 존재하는지 여부를 판단하고, 만일 존재하지 않는 경우에는 터널 정보 테이블을 생성하고 상기 생성된 정보를 터널 정보 테이블에 추가하며, 만일 이미 존재하고 있는 경우에는 상기 생성된 정보를 터널 정보 테이블에 바로 추가하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  27. 제25항에 있어서,
    상기 소스장치와 타깃장치 모두에게 이용가능한 상이한 매체의 네트워크 접속방식들에 관한 정보는 터널 식별자, 및 상기 소스장치와 상기 타깃장치에 의해 공통적으로 지원되는 네트워크 프로토콜들과 접속 주소들에 관한 정보를 포함하는 것을 특징으로 하는 데이터 전송방법.
  28. 제20항 있어서,
    상기 소스장치가 복수 개의 타깃장치들과 데이터 전송을 하는 경우에,
    상기 소스장치는 터널제어모듈을 통해 복수 개의 타깃장치들 각각과 데이터 전송 터널을 구축하는 것을 특징으로 하는 데이터 전송방법.
  29. 제20항에 있어서,
    상기 단계 2)는,
    21) 이용가능한 상태에 있으며 구축된 데이터 전송 터널에 상응하는 활성화된 네트워크 프로토콜 접속이 현재 존재하는지를 상기 소스장치의 터널제어모듈에 의해 판단하고, 만일 존재하면 단계 22)를 실행하고, 만일 존재하지 않는 경우에는 구축된 데이터 전송 터널로부터 하나의 네트워크 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속 확립을 시도하고, 접속 확립의 성공 후에 단계 22)를 실행하고, 접속 확립이 실패되면 다음(next)의 공통적으로 지원되는 네트워크 프로토콜을 선택하여 접속 확립을 시도하며, 만일 모든 매칭된 프로토콜들이 시도된 후에도 여전히 접속 확립이 실패되면 소스장치에게 상기 데이터 전송 터널이 이용가능하지 않음을 보고하고 절차가 종료되는 단계; 및
    22) 상기 터널제어모듈에 의해, 타깃장치로 데이터를 발송하기 위해 발송대기의 데이터를 현재 이용가능한 상태에 있는 활성화된 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  30. 제29항에 있어서,
    상기 단계 22)에서, 발송대기의 데이터를 현재 이용가능한 상태에 있는 활성화된 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계는,
    22a) 이용가능한 접속에서의 발송대기 데이터량 및 네트워크 접속에서의 데이터 발송 평균속도를 상기 터널제어모듈에 의해 판단하고, 만일 발송대기 데이터량이 소정의 기준량보다 많거나 또는 네트워크 접속에서의 데이터 발송 평균속도가 소정의 기준속도보다 낮으면 단계 22b)를 실행하고, 그렇지 않으면 발송대기 데이터를 현재 이용가능한 네트워크 프로토콜 접속의 작업 대기열(task queue)에 가입시키는 단계; 및
    22b) 현재 이용가능한 기타 네트워크 프로토콜 접속이 존재하는지 여부를 상기 터널제어모듈에 의해 찾고, 만일 존재하면 단계 22a)로 리턴하고, 그렇지 않으면 소스장치와 타깃장치 사이에 공통적으로 매칭되는 네트워크 프로토콜을 선택하여 새로운 네트워크 프로토콜 접속 확립을 시도하며, 만일 접속 확립이 성공이면 발송대기의 데이터를 새롭게 확립된 네트워크 프로토콜 접속의 작업 대기열에 가입시키고, 그렇지 않으면 발송대기의 데이터를 원래의 이용가능한 네트워크 프로토콜 접속의 작업 대기열에 가입시키는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  31. 제29항에 있어서,
    상기 소스장치의 터널제어모듈은 소스장치에서 데이터를 전송하려는 응용프로그램에 의해 발송된 데이터 전송명령을 수신한 후에 단계 21)을 실행하며,
    상기 소스장치의 터널제어모듈은 데이터를 전송하려는 응용프로그램에게 데이터 발송 완료 또는 발송 실패 후에 데이터 발송 성공 또는 발송 실패를 나타내는 결과를 리턴하는 것을 특징으로 하는 데이터 전송방법.
  32. 제31항에 있어서,
    상기 응용프로그램에 의해 발송된 데이터 전송명령은 적어도 터널식별자, 타깃장치 식별자, 타깃 응용프로그램의 식별자, 및 발송될 소스데이터를 포함하고,
    상기 발송대기의 데이터는 적어도 소스장치의 장치식별자, 데이터를 발송하는 응용프로그램의 식별자, 타깃장치의 식별자, 타깃 응용프로그램의 식별자, 및 발송될 소스데이터를 포함하며,
    상기 타깃장치의 터널제어모듈은 데이터를 수신한 후에 데이터에서의 타깃 응용프로그램의 식별자에 근거하여, 데이터를 타깃장치에서의 타깃 응용프로그램으로 디스패치(dispatch)하는 것을 특징으로 하는 데이터 전송방법.
  33. 제20항에 있어서,
    상기 단계 4)는,
    상기 데이터 전송 중에 데이터를 전송하는 네트워크 프로토콜 접속이 단절되면, 소스장치의 터널제어모듈은 데이터 전송 터널에 대하여 새로운 매체 네트워크 접속방식을 선택하여 네트워크 프로토콜 접속을 확립하고, 만일 접속 확립이 성공하면 상기 새로운 네트워크 프로토콜 접속을 이용하여 데이터 전송을 계속하고 소스장치에게 통지하며, 그렇지 않으면 소스장치에게 데이터 발송 오류와 데이터 전송 터널을 이용할 수 없음을 통지하는 단계;
    를 포함하는 것을 특징으로 하는 데이터 전송방법.
  34. 제20항에 있어서,
    상기 데이터 전송 터널의 휴지기간에, 소스장치의 터널제어모듈이 타깃장치에게 터널 검측 요구를 발송하는 단계;
    상기 타깃장치의 터널제어모듈이 상기 검측 요구를 수신한 후에 자체의 동작 부하(operating load)에 근거하여 소스장치에게 터널 검측 응답을 리턴하는 단계;
    만일 소스장치가 아무런 터널 응답을 수신하지 못하거나 터널을 이용할 수 없다는 터널응답을 수신하면, 상기 소스장치의 터널제어모듈이 상기 터널을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  35. 제34항에 있어서,
    상기의 터널 검측 요구는 적어도 소스장치가 희망하는 터널 가용 시간을 포함하고, 상기 터널 검측 응답은 적어도 터널 가용 시간을 포함하며, 소스장치에 의해 수신된 터널 응답에서의 터널 가용 시간이 0(zero)이면 상기 터널은 이용불능인 것을 특징으로 하는 데이터 전송방법.
  36. 제20항에 있어서,
    데이터 전송 완료 후에 상기 소스장치의 터널제어모듈 또는 상기 타깃장치의 터널제어모듈이 상기 데이터 전송 터널을 삭제하고, 상대방 장치에게 터널 닫기 통지를 발송하며, 상대방 장치가 상기 닫기 통지를 수신한 후에 상기 데이터 전송 터널을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 데이터 전송방법.
  37. 제20항에 있어서,
    상기 터널제어모듈이 응용프로그램에 의해 발송된 터널 닫기 명령을 수신한 후에 상대방 장치에게 터널 닫기 통지를 발송하고,
    데이터 전송 터널을 삭제한 후에 상기 터널제어모듈이 터널 닫기 명령을 발송한 응용프로그램에게 터널 닫기 성공 또는 닫기 실패를 나타내는 결과를 리턴하는 것을 특징으로 하는 데이터 전송방법.
KR1020067027676A 2004-06-30 2004-11-24 네트워크 장치들 사이의 데이터 전송방법 KR100884988B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200410062649.2 2004-06-30
CNB2004100626492A CN100547995C (zh) 2004-06-30 2004-06-30 一种网络中设备间的数据传输方法

Publications (2)

Publication Number Publication Date
KR20070026682A KR20070026682A (ko) 2007-03-08
KR100884988B1 true KR100884988B1 (ko) 2009-02-20

Family

ID=35782462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067027676A KR100884988B1 (ko) 2004-06-30 2004-11-24 네트워크 장치들 사이의 데이터 전송방법

Country Status (6)

Country Link
US (1) US20080062899A1 (ko)
EP (1) EP1768312A4 (ko)
JP (1) JP2008503116A (ko)
KR (1) KR100884988B1 (ko)
CN (1) CN100547995C (ko)
WO (1) WO2006002579A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170080349A (ko) * 2015-12-31 2017-07-10 엘지디스플레이 주식회사 표시장치와 그 구동 방법
KR20210075440A (ko) * 2019-12-13 2021-06-23 주식회사 아라드네트웍스 네트워크 터널 상태 결정 방법 및 이를 이용한 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700823B2 (en) * 2007-03-15 2014-04-15 Broadcom Corporation Software driver interconnect framework
US20090215398A1 (en) * 2008-02-25 2009-08-27 Adler Mitchell D Methods and Systems for Establishing Communications Between Devices
JP5207803B2 (ja) * 2008-04-02 2013-06-12 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN102123269B (zh) * 2010-12-16 2013-03-20 华为数字技术(成都)有限公司 视频监控数据获取方法、装置以及视频监控系统
GB201102628D0 (en) * 2011-02-15 2011-03-30 Nordic Semiconductor Asa Programmable radio
US8717925B2 (en) * 2011-12-22 2014-05-06 Ixia Testing TCP connection rate
CN103076991B (zh) * 2012-12-26 2016-02-10 创新科存储技术(深圳)有限公司 一种主机和存储阵列的通信方法
CN105453694A (zh) * 2013-07-18 2016-03-30 索尼公司 控制装置和通信终端
CN104133728B (zh) * 2013-12-16 2015-07-22 腾讯科技(深圳)有限公司 一种进程间通讯的方法、及装置
CN103746975A (zh) * 2013-12-26 2014-04-23 小米科技有限责任公司 一种数据传输方法、装置及移动终端
CN105450482B (zh) * 2014-07-29 2019-04-19 青岛海尔智能家电科技有限公司 一种设备连接方法和装置
US9565216B2 (en) * 2014-10-24 2017-02-07 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for security protocol selection in internet protocol multimedia subsystem networks
CN104836650A (zh) * 2015-04-01 2015-08-12 深圳市金立通信设备有限公司 一种终端
CN104834617A (zh) * 2015-04-01 2015-08-12 深圳市金立通信设备有限公司 一种数据传输方法
CN108965984A (zh) * 2018-08-27 2018-12-07 优视科技新加坡有限公司 一种文件传输与播放的方法、装置和设备/终端/服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015741A (ko) * 2001-06-18 2004-02-19 스위스콤 모빌 아게 이종 네트워크에서의 이동 ip 노드를 위한 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3224963B2 (ja) * 1994-08-31 2001-11-05 株式会社東芝 ネットワーク接続装置及びパケット転送方法
US6611891B1 (en) * 1998-11-23 2003-08-26 Advanced Micro Devices, Inc. Computer resource configuration mechanism across a multi-pipe communication link
US6801938B1 (en) * 1999-06-18 2004-10-05 Torrent Systems, Inc. Segmentation and processing of continuous data streams using transactional semantics
EP1117266A1 (en) 2000-01-15 2001-07-18 Telefonaktiebolaget Lm Ericsson Method and apparatus for global roaming
SE517729C2 (sv) 2000-11-24 2002-07-09 Columbitech Ab Metod för att upprätthålla kommunikation mellan enheter tillhöriga skilda kommunikationsnät
JP2003199160A (ja) * 2001-12-27 2003-07-11 Nec Mobiling Ltd 無線通信装置
JP2006502678A (ja) * 2002-10-02 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 携帯用装置のスマート接続の管理

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015741A (ko) * 2001-06-18 2004-02-19 스위스콤 모빌 아게 이종 네트워크에서의 이동 ip 노드를 위한 방법 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170080349A (ko) * 2015-12-31 2017-07-10 엘지디스플레이 주식회사 표시장치와 그 구동 방법
KR102498501B1 (ko) 2015-12-31 2023-02-10 엘지디스플레이 주식회사 표시장치와 그 구동 방법
KR20210075440A (ko) * 2019-12-13 2021-06-23 주식회사 아라드네트웍스 네트워크 터널 상태 결정 방법 및 이를 이용한 장치
KR102270142B1 (ko) * 2019-12-13 2021-06-28 주식회사 아라드네트웍스 네트워크 터널 상태 결정 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
EP1768312A4 (en) 2008-06-25
WO2006002579A1 (fr) 2006-01-12
CN1716946A (zh) 2006-01-04
JP2008503116A (ja) 2008-01-31
US20080062899A1 (en) 2008-03-13
KR20070026682A (ko) 2007-03-08
EP1768312A1 (en) 2007-03-28
CN100547995C (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
KR100884988B1 (ko) 네트워크 장치들 사이의 데이터 전송방법
JP4509545B2 (ja) 設定変更可能な信頼性の高いメッセージ通信システム
WO2023284732A1 (zh) 基于Linux内核的协议栈数据传输方法及装置
WO2013097452A1 (zh) 接收数据的方法、发送数据的方法、移动终端和服务器
JP3509684B2 (ja) 接続制御装置、接続制御方法、接続制御プログラムを記録した記録媒体及びデータ通信システム
WO2011150707A1 (zh) 一种m2m业务中终端状态或事件管理的方法及系统
WO2021057526A1 (zh) 一种网关设备容灾的方法及通信设备
CN101621819A (zh) 主备切换接口模块、网元系统和链路信息同步检测方法
CN112437474B (zh) 信息传输方法和信息传输装置
US20230039646A1 (en) Data retransmission method, data retransmission apparatus, target node, source node, and terminal
JP2004357264A (ja) 移動通信システムにおける中継器遠隔制御システム及びその方法
JPH10112740A (ja) 情報処理装置、通信方法および記憶媒体
WO2018202079A1 (zh) 一种信息传输的方法、设备及存储介质
CN113412478B (zh) 消息收发方法、通信装置以及程序
WO2012175024A1 (zh) 实现无线数据传输与短信收发并行的方法、系统及设备
WO2012010002A1 (zh) 一种物联网终端java应用的业务调试装置和方法
JP2003520477A (ja) インテリジェントネットワークにおける信頼性の高い通信を実行する方法およびその装置
US20050054323A1 (en) Radio communication system and gateway exchange methods therefor
TWI289389B (en) Roaming system and method for heterogeneous wireless network environment
CN113992740B (zh) 一种基于自主可控的中间件及数据传输方法
CN116076122A (zh) 一种组定位方法、装置、设备及存储介质
US6556827B1 (en) Method of managing a plurality of radio links in wireless local loop
WO2010015197A1 (zh) 消息处理方法及系统
CN110784365A (zh) 变电站的站控层、实体装置的备用装置及其自动上线方法
WO2016109967A1 (zh) 统一机器到机器系统中通信的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160114

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180222

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 12