KR20160089810A - 전자 장치의 데이터 전송 방법 및 장치 - Google Patents

전자 장치의 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR20160089810A
KR20160089810A KR1020150009503A KR20150009503A KR20160089810A KR 20160089810 A KR20160089810 A KR 20160089810A KR 1020150009503 A KR1020150009503 A KR 1020150009503A KR 20150009503 A KR20150009503 A KR 20150009503A KR 20160089810 A KR20160089810 A KR 20160089810A
Authority
KR
South Korea
Prior art keywords
data packet
value
delay value
transmission delay
buffer
Prior art date
Application number
KR1020150009503A
Other languages
English (en)
Other versions
KR102318736B1 (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 삼성전자주식회사
Priority to KR1020150009503A priority Critical patent/KR102318736B1/ko
Priority to PCT/KR2016/000454 priority patent/WO2016117881A1/en
Priority to EP16740354.2A priority patent/EP3248342B1/en
Priority to US15/000,238 priority patent/US10193644B2/en
Publication of KR20160089810A publication Critical patent/KR20160089810A/ko
Application granted granted Critical
Publication of KR102318736B1 publication Critical patent/KR102318736B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/364Delay profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 IoT(Internet of Things)에 연결된 각종 전자 장치의 데이터 전송 방법에 관한 것으로, 실시예에 따라 전자 장치는 생성 또는 수집한 정보에 대한 데이터 패킷을 저장하는 버퍼 이외에도 추가적인 저장 장치를 더 포함하여, 정보의 손실을 최소화 할 수 있다. 그리고 본 발명의 실시예에 따라 전자 장치는 데이터 패킷 재전송시 해당 데이터 패킷과 관련된 애플리케이션이 요구한 최대 전송 지연값과, 데이터 패킷의 생성 시점을 기준으로 카운트된 현재 전송 지연값을 이용하여 재전송 지연값 또는 애그리게이션 레벨을 결정하여, 데이터를 전송할 수 있다.

Description

전자 장치의 데이터 전송 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING DATA IN ELECTRONIC DEVICE}
본 발명은 전자 장치에 관한 것으로, 특히, 전자 장치에서 데이터를 전송하는 방법 및 장치에 관한 것이다.
오늘날 사물 통신은 이동 통신 네트워크를 이용하여 사람과 사물, 사물과 사물간 지능 통신을 할 수 있는 M2M((Machine to Machine) 개념에서 인터넷으로 영역을 확장하여 사물은 물론, 현실과 가상 세계의 모든 정보와 상호 작용하는 개념으로 빠르게 진화하고 있다. 즉, 언제 어디서나 안전하고 편리하게 실시간으로 사람과 사물, 사물과 사물간 지능 통신을 할 수 있도록 하는 M2M은 인터넷을 매개로 주위의 모든 사물을 연결하면서 IoT(Internet of Things)로 영역을 확장 중에 있다.
IoT(Internet of Things)는 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술을 의미한다. 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템(스마트폰과 같은 전자기기의 컴퓨터 시스템)이다. IoT 에 연결되는 사물들은 자신을 구별할 수 있는 유일한 IP를 가지고 인터넷으로 연결되어야 하며, 외부 환경으로부터의 정보 취득을 위해 센서를 내장할 수 있다.
이러한 IoT가 적용된 네트워크의 일예를 도1에 도시하였다. 도1은 IoT 네트워크를 나타낸 도면이다. 도1을 참조하면, IoT 네트워크(100)는 스마트 LED(10), 온도계(20), 세탁기(30), 스마트 냉장고(40), 로봇 청소기(50), 스마트 TV(60), 디지털 카메라(70), 스마트 폰(80), 웨어러블 기기(90)등을 포함할 수 있다.
이러한 IoT 네트워크(100)를 구성하는 장치는 스마트 LED(10), 온도계(20)와 같이 장치 고유의 기능이 비교적 단순하며, 이에 따라, IoT 서비스를 제공하기 위한 하드웨어 역시 작게 구현되는 작은 사물(small things), 세탁기(30), 스마트 냉장고(40), 로봇 청소기(50)와 같은 디스플레이가 없는 큰 사물(big things), 스마트 TV(60), 디지털 카메라(70), 스마트 폰(80), 웨어러블 기기(90)와 같은 디스플레이를 구비한 큰 사물(big things)로 분류될 수 있다.
각 장치들은 구비된 센서를 통해 측정된 센서 데이터 또는 장치에서 수집된 정보를 포함하는 데이터 패킷을 송수신할 수 있으며, 이에 따라, 정보들은 특정 장치, 예를 들어, 스마트 폰(80)으로 수집되어 사용자에게 제공될 수 있다. 또는 외부의 서비스 서버로 제공되어, 각 정보를 이용한 서비스가 제공되게 할 수 있다. 예를 들어, 온도계(20)에 의해 측정된 실내 온도가 스마트 폰(80)으로 전송되고, 사용자가 이를 확인하여 실내 온도를 조정할 수 있다.
이에 따라, IoT 네트워크(100)를 구성하는 각 장치들은 하나의 노드로서 동작하며, 스마트 TV(60), 디지털 카메라(70), 스마트 폰(80), 웨어러블 기기(90)와 같은 장치들은 다른 노드 장치의 정보를 수집하는 싱크 노드로 지정될 수 있다.
각 노드 장치는 스스로 생성한 정보를 포함하는 데이터 패킷을 주기적으로 전송하여, 싱크 노드가 정보를 수집할 수 있게 한다. 이에 따라, 각 노드 장치는 하나의 이웃 노드로부터 수신된 데이터 패킷을 다른 이웃 노드로 전달할 수도 있다. 이러한 과정에서 무선 환경의 요인으로 인해 데이터 패킷이 손실되거나 전송 지연이 발생될 가능성이 있다.
그리고 각 장치들은 스스로 생성한 데이터 패킷 또는 이웃 노드로부터 수신된 데이터 패킷을 저장할 수 있는 저장 공간이 필요하다. 하지만 작은 사물(small things)에 해당하는 장치들은 대체적으로 데이터 패킷의 저장 공간이 작기 때문에, 이로 인해 데이터 패킷이 손실 될 수도 있다.
또한 데이터 패킷의 손실 또는 전송 지연에 의해 불필요한 전력이 소모될 수도 있다.
본 발명은 상기한 문제점을 해결하기 위해, 전송 품질을 최대화할 수 있는 데이터 전송 방법 및 장치를 제공한다.
그리고 본 발명은 장치의 소모 전류를 최소화 할 수 있는 데이터 전송 방법 및 장치를 제공한다.
또한 본 발명은 각 장치의 애플리케이션이 요구하는 전송 시간을 보장할 수 있도록 전송 지연을 조정할 수 있는 데이터 전송 방법 및 장치를 제공한다.
그리고 본 발명은 멀티 패스 파인딩 또는 무선 신호 간섭 등으로 인해 급격히 변화하는 무선 환경 내에서도 안정적으로 데이터를 전송할 수 있는 방법 및 장치를 제공한다.
또한 본 발명은 장치의 저장 공간이 부족한 경우에도 안정적으로 데이터를 전송할 수 있는 방법 및 장치를 제공한다.
한편, 본 발명은 전자 장치의 데이터 전송 방법에 있어서, 전송 순서에 따라 버퍼에서 선택된 데이터 패킷을 전송하는 과정과, 상기 선택된 데이터 패킷의 전송이 실패하면, 상기 선택된 데이터 패킷에 대응되는 최대 전송 지연값과, 상기 선택된 데이터 패킷의 현재 전송 지연값과, 현재 측정된 수신 전계 강도를 이용하여, 재전송 지연값을 결정하는 과정과, 상기 재전송 지연값 만큼 데이터 전송을 지연한 후에, 상기 선택된 데이터 패킷을 재전송하는 과정을 포함할 수 있다.
그리고 본 발명은 전자 장치의 데이터 전송 방법에 있어서, 상기 전자 장치에 의해 생성된 정보를 포함하는 데이터 패킷을 생성하는 과정과, 버퍼에 남은 저장 공간이 없으면 상기 생성된 데이터 패킷을 데이터베이스에 저장하는 과정과, 버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장하는 과정과, 상기 버퍼에 저장된 데이터 패킷을 순차적으로 전송하는 과정을 포함할 수 있다.
그리고 본 발명은 전자 장치에 있어서, 데이터를 송수신하는 송수신부와,
데이터 패킷이 저장되는 버퍼와, 전송 순서에 따라 상기 버퍼에서 선택된 버퍼의 데이터 패킷을 상기 송수신부를 통해 전송하고, 상기 선택된 데이터 패킷의 전송이 실패하면, 상기 선택된 데이터 패킷에 대응되는 최대 전송 지연값과, 상기 선택된 데이터 패킷의 현재 전송 지연값과, 현재 측정된 수신 전계 강도를 이용하여, 재전송 지연값을 결정하고, 상기 재전송 지연값 만큼 데이터 전송을 지연한 후에, 상기 선택된 데이터 패킷을 상기 송수신부를 통해 재전송하는 프로세서를 포함할 수 있다.
그리고 본 발명은 전자 장치에 있어서, 데이터를 송수신하는 송수신부와, 데이터 패킷이 저장되는 버퍼와, 상기 버퍼에 남은 저장 공간이 없으면 데이터 패킷을 저장하고, 상기 버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장하는 데이터베이스와, 상기 애그리게이션 레벨을 결정하고, 상기 버퍼에 저장된 데이터 패킷을 상기 송수신부를 통해 순차적으로 전송하는 프로세서를 포함할 수 있다.
본 발명은 IoT 네트워크를 구성하는 장치의 데이터 전송 품질을 최대화할 수 있고, 데이터 전송시 장치의 소모 전류를 최소화 할 수 있다. 그리고 본 발명은 데이터 전송시 각 장치의 애플리케이션이 요구하는 전송 시간을 보장할 수 있도록 전송 지연을 조정할 수 있다. 또한 본 발명은 멀티 패스 파인딩 또는 무선 신호 간섭 등으로 인해 급격히 변화하는 무선 환경 내에서도 안정적으로 데이터를 전송할 수 있다. 그리고 본 발명은 장치의 저장 공간이 부족한 경우에도 안정적으로 데이터를 전송할 수 있다.
도1은 일반적인 IoT 네트워크의 일 예를 나타낸 도면,
도2는 본 발명의 일 실시예에 따른 전자 장치의 계층 구조를 나타낸 도면,
도3은 본 발명의 일 실시예에 따른 전자 장치의 구성을 나타낸 도면,
도4 내지 도8b는 본 발명의 다양한 실시예에 따른 전자 장치의 동작을 나타낸 도면.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는포함한다 또는 포함할 수 있다 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 또는 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, A 또는 B는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 제 1,??제2,??첫째,또는둘째,등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예에 따른 전자 장치는, 데이터 전송이 가능한 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 데이터 전송이 가능한 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 데이터 전송이 가능한 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시예들에 따르면, 전자 장치는 데이터 전송이 가능한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
본 발명은 IoT(Internet of Things)에 연결된 각종 전자 장치의 데이터 전송 방법에 관한 것이다. IoT(Internet of Things)에 연결된 각종 전자 장치는 생성 또는 수집한 정보를 포함하는 데이터 패킷을 IoT(Internet of Things)에 연결된 다른 전자 장치로 주기적으로 전송할 수 있다.
본 발명의 실시예에 따라 전자 장치는 생성 또는 수집한 정보에 대한 데이터 패킷을 저장하는 버퍼 이외에도 추가적인 저장 장치를 더 포함하여, 정보의 손실을 최소화 할 수 있다.
그리고 본 발명의 실시예에 따라 전자 장치는 데이터 패킷 재전송시 해당 데이터 패킷과 관련된 애플리케이션이 요구한 최대 전송 지연값과, 데이터 패킷의 생성 시점을 기준으로 카운트된 현재 전송 지연값과, 현재의 수신 전계 강도에 따라, 해당 데이터 패킷의 전송 지연값을 결정하고, 결정된 전송 지연값에 따라 전송을 지연시킨 후 데이터 패킷을 전송할 수 있다. 이에 따라, 애플리케이션이 지정된 최대 전송 지연 시간을 넘기지 않도록 데이터 패킷을 전송할 수 있으며, 무선 환경이 양호한 경우에 데이터 패킷이 전송될 수 있다.
또한 본 발명의 실시예에 따라 전자 장치는 데이터 패킷의 최대 전송 지연값과 현재 전송 지연값의 비교 결과에 따라 애그리게이션 레벨을 결정할 수 있다. 애그리게이션 레벨은 한번의 데이터 전송시 처리될 데이터 패킷의 개수를 나타낼 수 있다. 애그리게이션 레벨에 대응하는 데이터 패킷의 개수가 복수개인 경우, 복수의 데이터 패킷을 이용해 하나의 대표 데이터 패킷을 생성하여 전송함으로써, 애플리케이션이 지정된 최대 전송 지연 시간을 초과하는 데이터 패킷의 전송 지연을 방지할 수 있으며, 전송시 소모 전력을 감소 시킬 수 있다.
상기한 본 발명의 실시예에 따른 전자 장치의 구성을 도2 및 도3을 참조하여 설명하면 다음과 같다.
도2는 본 발명의 일 실시예에 따른 전자 장치의 계층 구조를 나타낸 도면이다.
도2를 참조하면, 전자 장치(200)는 센서 애플리케이션(210), 네트워크 및 데이터베이스 애플리케이션 인터페이스(220), 네트워크 스택(230), 데이터베이스(310), 실시간 운영 체제(350), 물리 계층(380)을 포함할 수 있다. 그리고 네트워크 스택(230)은 전송 제어부(240), 무선 채널 모니터(250), 크로스 레이어 인터페이스(260), TCP/IP(Transfer Control Protocol/Internet Protocol)(270), 6LoWPAN(IPv6 Low Power Wireless Personal Area Network)(280), CSMA(Carrier Sense Multiple Access)(240), 버퍼(300)를 포함할 수 있다. 데이터베이스(310)는 SQL(Structured Query Language) 인터페이스(320), 데이터 베이스 처리부(330), 데이터 저장부(340)를 포함할 수 있다.
센서 애플리케이션(210)은 센서 애플리케이션에서 제공하는 기능 또는 서비스에 따라, 주기적으로 또는 특정 시점에 전자 장치(200)에 포함된 센서로부터 센서 데이터를 수집하고, 수집된 센서 데이터를 이용해 데이터 패킷을 생성할 수 있다. 그리고 센서 애플리케이션(210)은 생성된 데이터 패킷 대응하는 최대 전송 지연값을 설정할 수 있다. 최대 전송 지연값은 데이터 패킷의 생성 시점을 기준으로 전송 지연이 가능한 최대 시간 간격일 수 있으며, 데이터 패킷의 중요도 데이터 패킷이 이용되는 기능 또는 서비스에 따라 결정될 수 있다. 센서 애플리케이션(210)은 생성한 데이터 패킷을 네트워크 및 데이터베이스 애플리케이션 인터페이스(220)을 통해 네트워크 스택(230)의 TCP/IP(270)로 전달할 수 있다.
네트워크 및 데이터베이스 애플리케이션 인터페이스(220)는 센서 애플리케이션(210)과, 네트워크 스택(230) 및 데이터 베이스(310) 간에 인터페이스를 제공할 수 있다.
TCP/IP(270)는 버퍼(300)에 데이터 패킷을 저장할 공간이 있으면, 센서 애플리케이션(210)으로부터 전달된 데이터 패킷을 저장할 수 있다. 만약, 버퍼(300)에 이미 정해진 개수의 데이터 패킷이 모두 저장된 상태라면, TCP/IP(270)는 센서 애플리케이션(210)으로부터 전달된 데이터 패킷을 데이터베이스(310)에 저장할 수 있다. 다른 실시예에 따라, TCP/IP(270)는 센서 애플리케이션(210)으로부터 수신된 데이터 패킷을 버퍼(300)로 전달하고, 버퍼(300)는 여유 저장 공간이 있으면 TCP/IP(270)로부터 전달된 데이터 패킷을 저장하고, 여유 저장 공간이 없으면 데이터베이스(310)에 해당 데이터 패킷을 저장할 수 있다.
버퍼(300)는 TCP/IP(270)로부터 수신된 데이터 패킷을 저장할 수 있다. 다른 실시예에 따라 버퍼(300)는 TCP/IP(270)로부터 데이터 패킷을 수신시, 여유 저장 공간이 있으면 수신된 데이터 패킷을 저장하고, 여유 저장 공간이 없으면 데이터베이스(310)에 해당 데이터 패킷을 저장할 수 있다. 버퍼(300)는 CSMA(240)의 요청에 따라 버퍼(300)에 저장된 데이터 패킷 중 전송 순서에 따른 데이터 패킷을 선택하여 CSMA(240)로 전달하여, 선택된 데이터 패킷이 전송되게 할 수 있다. 그리고 버퍼(300)는 선택된 데이터 패킷의 전송 처리가 완료됨에 따라 여유 저장 공간이 확보되면, 전송 제어부(240)의 제어에 따라 데이터베이스(310)에 저장되어 있던 데이터 패킷을 가져와 버퍼(300)에 저장할 수 있다. 예를 들어, 버퍼(300)에 저장되어 있던 어느 하나의 데이터 패킷에 대한 전송 처리가 완료됨에 따라 여유 저장 공간이 확보되면, 버퍼(300)는 전송 제어부(240)에 의해 설정된 애그리게이션 레벨을 데이터베이스(310)로 전달할 수 있고, 데이터베이스(310)는 애그리게이션 레벨에 대응하는 데이터 패킷을 버퍼(300)에 저장할 수 있다.
크로스 레이어 인터페이스(260)는 무선 채널 모니터(250), TCP/IP(270), CSMA(Carrier Sense Multiple Access)(240), 및 버퍼(300) 중 어느 하나와 전송 제어부(240) 간에 인터페이스를 제공할 수 있다.
무선 채널 모니터(250)는 전자 장치(200)가 IoT에 연결된 주변의 다른 전자 장치와의 무선 통신을 하기 위한 무선 채널의 수신 전계 강도를 물리 계층(250)을 통해 주기적으로 모니터하여 크로스 레이어 인터페이스(260)을 통해 전송 제어부(240)로 전송할 수 있다. 또는 다른 실시예에 따라, 무선 채널 모니터(250)는 무선 채널의 수신 전계 강도를 전송 제어부(240)가 요청할 때 모니터하여 크로스 레이어 인터페이스(260)을 통해 전송 제어부(240)로 전송할 수 있다.
CSMA(240)는 전송 제어부(240)의 제어에 따라, 버퍼(300)에 저장된 데이터 패킷을 물리 계층(260)을 통해 전송할 수 있다. 예를 들어, 전송 제어부(240)의 지시에 따라CSMA(240)는 버퍼(300)로부터 전달된 데이터 패킷에 대해 주변 장치로 최초 전송을 시도하고, 주변 장치로부터 전송 성공 응답이 수신되면, 다음 순서의 데이터 패킷에 대한 전송을 시도할 수 있다. 만약, 주변 장치로부터 전송 실패 응답이 수신되면, CSMA(240)는 전송 제어부(240)로부터 설정된 재전송 지연값에 따라 전송을 지연하고, 해당 데이터 패킷에 대한 재전송을 시도할 수 있다. CSMA(240)는 재전송 시도시 마다 전송 제어부(240)로부터 설정된 재전송 지연값에 따라 동작할 수 있고, 최대 재전송 횟수 동안 전송을 실패하면, 해당 데이터 패킷을 드롭시킬 수 있다. 최대 재전송 횟수는 센서 애플리케이션(210) 또는 전송 제어부(240)에 의해 결정될 수 있으며, 데이터 패킷이 이용되는 기능 또는 서비스에 따라 결정될 수 있다.
데이터베이스(310)는 실시예에 따라 버퍼(300)로부터 전달되는 데이터 패킷을 저장할 수 있다. 데이터베이스(310)의 SQL 인터페이스(320)는 네트워크 스택(310)과 데이터베이스(310)간의 인터페이스를 제공할 수 있다. 데이터 베이스(310)의 데이터 저장부(340)는 데이터 패킷을 저장할 수 있다. 데이터 베이스 처리부(330)는 버퍼(300)에 의해 전달된 애그리게이션 레벨과, 데이터 저장부(340)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(300)로 전달할 데이터 패킷을 결정할 수 있다. 애그리게이션 레벨은 한번의 데이터 전송시 처리될 데이터 패킷의 개수를 나타낼 수 있다. 애그리게이션 레벨에 대응해는 데이터 패킷의 개수가 한 개인 경우, 데이터 처리부(330)는 데이터 저장부(340)에 가장 먼저 저장된 데이터 패킷을 선택하여 버퍼(300)에 저장할 수 있다. 애그리게이션 레벨에 대응하는 데이터 패킷의 개수가 복수개인 경우, 데이터 처리부(330)는 순차적으로 복수개의 데이터 패킷을 선택하고, 선택된 데이터 패킷에 각각에 대응하는 정보를 이용해 대표 정보를 결정할 수 있다. 예를 들어, 데이터 처리부(330)는 복수의 정보의 평균을 대표 정보로 결정할 수 있다. 다른 예로, 데이터 처리부(330)는 복수의 정보 중 어느 하나의 정보를 대표 정보로 결정할 수 있다. 예를 들어, 복수의 정보 중 가장 큰 값, 또는 가장 작은 값, 또는 랜덤하게 선택된 값이 대표 정보로 결정될 수 있다. 데이터 처리부(330)는 대표 정보를 포함하는 대표 데이터 패킷을 구성하여 버퍼(300)에 저장할 수 있다.
전송 제어부(240)는 버퍼(300) 또는 데이터 베이스(310)에 저장된 데이터 패킷의 전송을 제어할 수 있다. 실시예에 따라, 전송 제어부(240)는 크로스 레이어 인터페이스(260)를 통해CSSM(240)로 데이터 패킷 전송 요청을 전달할 수 있다. CSSM(240)은 버퍼(300)에 저장된 데이터 패킷 중 전송 순서에 따라 하나의 데이터 패킷을 도출하고, 도출된 데이터 패킷에 대해 주변 장치로 최초 전송을 시도할 수 있다. 최초 전송에 대응하여 주변 장치로부터 주변 장치로부터 전송 실패 응답이 수신되면, 전송 제어부(240)는 해당 데이터 패킷과 관련된 애플리케이션이 요구한 최대 전송 지연값과, 데이터 패킷의 생성 시점을 기준으로 현 시점까지 카운트된 현재 전송 지연값과, 현재의 수신 전계 강도에 따라, 해당 데이터 패킷의 재전송 지연값을 결정할 수 있다. 현재 전송 지연값은 센서 애플리케이션(210) 또는 TCP/IP(270) 또는 전송 제어부(240) 중 어느 하나에 의해 카운트될 수 있다. 수신 전계 강도는 무선 채널 모니터(250)로부터 제공받을 수 있다.
전송 제어부(240)는 현재 전송 지연값이 최대 전송 지연값 이하이면, 현재 전송 지연값과 최대 전송 지연값을 이용해 추가 전송 지연값을 결정할 수 있다. 예를 들어, 추가 전송 지연값은 최대 전송 지연값에서 현재 전송 지연값을 뺀 값일 수 있다. 그리고 현재의 수신 전계 강도가 최소 수신 전계 강도보다 작으면, 디폴트 전송 지연값에 추가 전송 지연값을 더한 값을 재전송 지연값으로 결정하고, 현재의 수신 전계 강도가 최소 수신 전계 강도 이상이면, 디폴트 전송 지연값을 재전송 지연값으로 결정할 수 있다.
전송 제어부(240)는 재전송 지연값을 CSMA(240)에 설정할 수 있다. CSMA(240)는 설정된 재전송 지연값에 따라 데이터 패킷에 대한 전송을 지연 한 후에, 해당 데이터 패킷에 대한 재전송을 시도할 수 있다. 전송 제어부(240)는 재전송 시도시 마다 재전송 지연값을 결정하고, 결정된 재전송 지연값을 CSMA(240)에 설정할 수 있다. CSMA(240)는 최대 재전송 횟수 동안 전송을 실패하면, 해당 데이터 패킷을 드롭시킬 수 있다.
다른 실시예에 따라, 버퍼(300)에 저장되었던 적어도 하나의 데이터 패킷에 대한 전송 처리가 완료됨에 따라, 버퍼(300)에 여유 저장 공간이 확보되고, 데이터베이스(310)에 데이터 패킷이 존재하는 경우, 전송 제어부(210)는 데이터베이스(310)에 가장 오래 전에 저장된 데이터 패킷의 현재 전송 지연값, 최대 전송 지연값을 비교한 결과에 따라 애그리게이션 레벨 결정할 수 있다. 그리고 전송 제어부(210)는 애그리게이션 레벨을 버퍼(300)에 설정할 수 있다.
예를 들어, 전송 제어부(210)는 데이터베이스(310)에 가장 오래전에 저장된 데이터 패킷의 현재 전송 지연값이 최대 전송 지연값의 반값보다 크면, 증가치를 1만큼 가증하고, 가증된 증가치가 기준값 보다 크면 기존의 애그리게이션 레벨을 1레벨 가증할 수 있다. 만약, 데이터 패킷의 현재 전송 지연값이 최대 전송 지연값의 반값 이하이면, 감소치를 1만큼 가증하고, 가증된 감소치가 기준값보다 크면, 애그리게이션 레벨을 1레벨 감소할 수 있다.
버퍼(300)는 전송 제어부(210)에 의해 설정된 애그리게이션의 레벨을 데이터베이스(310)에 전달하고, 데이터베이스(310)는 전달된 애그리게이션 레벨과, 데이터 저장부(340)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(300)로 전달할 데이터 패킷을 결정할 수 있다.
도2에 도시된 전자 장치(200)의 계층 구조가 적용된 전자 장치(400)의 구성의 일 예를 도3에 나타내었다. 도3은 본 발명의 일 실시예에 따른 전자 장치의 구성을 나타낸 도면이다.
도3을 참조하면, 전자 장치(400)는 프로세서(410)와, 버퍼(420)와, 데이터 베이스(430)와, 송수신부(440)와, 센서부(450)를 포함할 수 있다. 프로세서(410)는 애플리케이션부(411)와, 전송 제어부(412)와, CSMA(413)와, 무선 채널 모니터(414)를 포함할 수 있다. 데이터베이스(430)는 데이터 처리부(431)와 데이터 저장부(432)를 포함할 수 있다.
센서부(450)는 외부 환경으로부터의 정보 취득하기 위한 센서를 포함하고 있다. 예를 들어, 센서부(450)는 온도 센서, 광 센서, 지자기 센서, GPS 센서, 생체 신호 감지 센서 중 적어도 하나 이상을 포함할 수 있다. 센서부(450)에 의해 측정된 센서 데이터, 즉, 센서 정보는 프로세서(410)로 전달될 수 있다.
송수신부(440)는 프로세서(410)의 제어에 따라 전자 장치(400)를 포함하는 IoT에 연결된 주변 장치와 데이터를 송수신할 수 있다.
프로세서(410)는 전자 장치(400)의 전반적인 동작을 제어하며, 데이터 전송과 관련된 각 구성부의 동작을 제어할 수 있다. 프로세서(410)의 애플리케이션부(411)는 도2의 센서 애플리케이션(210)에 대응될 수 있다. 프로세서(410)는 애플리케이션부(411)를 통해 애플리케이션에서 제공하는 기능 또는 서비스에 따라, 주기적으로 또는 특정 시점에 센서부(450)로부터 센서 데이터를 수집하고, 수집된 센서 데이터를 이용해 데이터 패킷을 생성할 수 있다. 그리고 프로세서(410)는 애플리케이션부(411)를 통해 생성된 데이터 패킷 대응하는 최대 전송 지연값을 설정할 수 있다. 최대 전송 지연값은 데이터 패킷의 생성 시점을 기준으로 전송 지연이 가능한 최대 시간 간격일 수 있으며, 데이터 패킷의 중요도 데이터 패킷이 이용되는 기능 또는 서비스에 따라 결정될 수 있다.
애플리케이션부(411)는 버퍼(420)에 데이터 패킷을 저장할 공간이 있으면, 생성한 데이터 패킷을 저장하고, 버퍼(420)가 가득찬 상태라면, 생성한 데이터 패킷을 데이터베이스(430)에 저장할 수 있다. 다른 실시예에 따라, 애플리케이션부(411)는 생성한 데이터 패킷을 버퍼(420)로 전달하고, 버퍼(420)는 여유 저장 공간이 있으면 전달된 데이터 패킷을 저장하고, 여유 저장 공간이 없으면 데이터베이스(420)에 해당 데이터 패킷을 저장할 수도 있다.
버퍼(420)는 프로세서(450)로부터 전달되는 데이터 패킷을 저장할 수 있으며, 도2의 버퍼(300)에 대응될 수 있다. 버퍼(420)는 프로세서(410)에 포함된 CSMA(413)의 요청에 따라 버퍼(420)에 저장된 데이터 패킷 중 전송 순서에 따른 데이터 패킷을 선택하여, 프로세서(450)의 CSMA(413)로 전달하여, 선택된 데이터 패킷이 전송되게 할 수 있다.
실시예에 따라, 버퍼(413)는 선택된 데이터 패킷의 전송 처리가 완료됨에 따라 여유 저장 공간이 확보되면, 프로세서(410)에 포함된 전송 제어부(412)의 제어에 따라 데이터베이스(430)에 저장되어 있던 데이터 패킷을 가져와 버퍼(420)에 저장할 수 있다.
실시예에 따라, 버퍼(420)에 여유 저장 공간이 확보되면, 버퍼(420)는 전송 제어부(412)에 의해 결정된 애그리게이션 레벨을 데이터베이스(430)로 전달할 수 있고, 데이터베이스(430)는 애그리게이션 레벨에 대응하는 데이터 패킷을 버퍼(420)에 저장할 수 있다. 전송 제어부(412)에 의해 결정된 애그리게이션 레벨은 프로세서(410)에 의해 데이터베이스(430)로 전달될 수도 있다.
프로세서(410)의 무선 채널 모니터(414)는 도2의 무선 채널 모니터(250)에 대응될 수 있다. 이에 따라, 무선 채널 모니터(414)는 송수신부(440)를 통해 무선 채널의 수신 전계 강도를 주기적으로 또는 전송 제어부(412)의 요청시에 모니터하여 전송 제어부(412)로 전송할 수 있다.
프로세서(410)의 CSMA(413)는 도2의 CSMA(240)에 대응될 수 있다. 이에 따라, CSMA(413)는 전송 제어부(412)의 제어에 따라, 버퍼(420)에 저장된 데이터 패킷을 송수신부(440)를 통해 주변 장치로 전송할 수 있다. 실시예에 따라, 전송 제어부(412)의 지시에 따라 CSMA(413)는 버퍼(420)로부터 전달된 데이터 패킷에 대해 주변 장치로 최초 전송을 시도하고, 주변 장치로부터 전송 성공 응답이 수신되면, 다음 순서의 데이터 패킷에 대한 전송을 시도할 수 있다. 만약, 주변 장치로부터 전송 실패 응답이 수신되면, CSMA(413)는 전송 제어부(412)로부터 설정된 재전송 지연값에 따라 전송을 지연하고, 해당 데이터 패킷에 대한 재전송을 시도할 수 있다. CSMA(413)는 재전송 시도시 마다 전송 제어부(240)로부터 설정된 재전송 지연값에 따라 동작할 수 있고, 최대 재전송 횟수 동안 전송을 실패하면, 해당 데이터 패킷을 드롭시킬 수 있다. 최대 재전송 횟수는 애플리케이션부(411) 또는 전송 제어부(412)에 의해 결정될 수 있으며, 데이터 패킷이 이용되는 기능 또는 서비스에 따라 결정될 수 있다.
데이터베이스(430)는 프로세서(450)로부터 전달되는 데이터 패킷을 저장할 수 있으며, 도2의 데이터베이스(310)에 대응될 수 있다. 이에 따라, 데이터베이스의 데이터베이스 처리부(431)는 도2이 데이터베이스 처리부(330)에 대응될 수 있고, 데이터베이스(430)의 데이터 저장부(432)는 도2의 데이터 저장부(340)에 대응될 수 있다.
이에 따라, 데이터베이스(430)는 버퍼(420)로부터 전달되는 데이터 패킷 또는 프로세서(410)로부터 전달되는 데이터 패킷을 저장할 수 있다. 데이터 저장부(432)는 데이터 패킷을 저장할 수 있다.
실시예에 따라, 데이터베이스 처리부(431)는 버퍼(420)의 요청이 있으면, 데이터 저장부(432)에 저장된 데이터 패킷의 전송 순서에 따라, 데이터 저장부(432)에 저장된 데이터 패킷을 버퍼(420)로 전달할 수 있다.
실시예에 따라, 데이터 베이스 처리부(431)는 버퍼(420)에 의해 전달된 애그리게이션 레벨과, 데이터 저장부(432)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(420)로 전달할 데이터 패킷을 결정할 수 있다. 애그리게이션 레벨은 한번의 데이터 전송시 처리될 데이터 패킷의 개수를 나타낼 수 있다. 애그리게이션 레벨에 대응해는 데이터 패킷의 개수가 한 개인 경우, 데이터 처리부(431)는 데이터 저장부(432)에 가장 먼저 저장된 데이터 패킷을 선택하여 버퍼(420)에 저장할 수 있다. 애그리게이션 레벨에 대응하는 데이터 패킷의 개수가 복수개인 경우, 데이터 처리부(431)는 순차적으로 복수개의 데이터 패킷을 선택하고, 선택된 데이터 패킷에 각각에 대응하는 정보를 이용해 대표 정보를 결정할 수 있다. 예를 들어, 데이터 처리부(431)는 복수의 정보의 평균을 대표 정보로 결정할 수 있다. 다른 예로, 데이터 처리부(431)는 복수의 정보 중 어느 하나의 정보를 대표 정보로 결정할 수 있다. 예를 들어, 복수의 정보 중 가장 큰 값, 또는 가장 작은 값, 또는 랜덤하게 선택된 값이 대표 정보로 결정될 수 있다. 데이터 처리부(431)는 대표 정보를 포함하는 대표 데이터 패킷을 구성하여 버퍼(420)에 저장할 수 있다.
실시예에 따라, 데이터 처리부(431)는 대표 데이터 패킷에 대응하는 최대 전송 지연값 및 현재 전송 지연값을, 대표 데이터 패킷 생성시 이용한 복수의 데이터 패킷의 최대 전송 지연값 및 현재 전송 지연값을 이용해 셋팅할 수도 있다.
프로세서(410)에 포함된 전송 제어부(412)는 도2의 전송 제어부(240)에 대응될 수 있다. 이에 따라, 전송 제어부(412)는 버퍼(420) 또는 데이터 베이스(430)에 저장된 데이터 패킷의 전송을 제어할 수 있다.
실시예에 따라, 전송 제어부(412)는 CSSM(413)로 데이터 패킷 전송 요청을 전달할 수 있다. CSSM(413)은 버퍼(420)에 저장된 데이터 패킷 중 전송 순서에 따라 하나의 데이터 패킷을 도출하고, 도출된 데이터 패킷에 대해 주변 장치로 최초 전송을 시도할 수 있다. 최초 전송에 대응하여 주변 장치로부터 주변 장치로부터 전송 실패 응답이 수신되면, 전송 제어부(412)는 해당 데이터 패킷과 관련된 애플리케이션이 요구한 최대 전송 지연값과, 데이터 패킷의 생성 시점을 기준으로 현 시점까지 카운트된 현재 전송 지연값과, 현재의 수신 전계 강도에 따라, 해당 데이터 패킷의 재전송 지연값을 결정할 수 있다. 현재 전송 지연값은 애플리케이션부(411) 또는 전송 제어부(412) 중 어느 하나에 의해 카운트될 수 있다. 수신 전계 강도는 무선 채널 모니터(414)로부터 제공받을 수 있다.
전송 제어부(412)는 현재 전송 지연값이 최대 전송 지연값 이하이면, 현재 전송 지연값과 최대 전송 지연값을 이용해 추가 전송 지연값을 결정할 수 있다. 예를 들어, 추가 전송 지연값은 최대 전송 지연값에서 현재 전송 지연값을 뺀 값일 수 있다. 그리고 현재의 수신 전계 강도가 최소 수신 전계 강도보다 작으면, 디폴트 전송 지연값에 추가 전송 지연값을 더한 값을 재전송 지연값으로 결정하고, 현재의 수신 전계 강도가 최소 수신 전계 강도 이상이면, 디폴트 전송 지연값을 재전송 지연값으로 결정할 수 있다.
전송 제어부(412)는 재전송 지연값을 CSMA(413)에 설정할 수 있다. CSMA(413)는 설정된 재전송 지연값에 따라 데이터 패킷에 대한 전송을 지연 한 후에, 해당 데이터 패킷에 대한 재전송을 시도할 수 있다. 전송 제어부(412)는 재전송 시도시 마다 재전송 지연값을 결정하고, 결정된 재전송 지연값을 CSMA(413)에 설정할 수 있다. CSMA(413)는 최대 재전송 횟수 동안 전송을 실패하면, 해당 데이터 패킷을 드롭시킬 수 있다.
실시예에 따라, 버퍼(420)에 저장되었던 적어도 하나의 데이터 패킷에 대한 전송 처리가 완료됨에 따라, 버퍼(420)에 여유 저장 공간이 확보되고, 데이터베이스(420)에 데이터 패킷이 존재하는 경우, 전송 제어부(412)는 데이터베이스(430)에 가장 오래 전에 저장된 데이터 패킷의 현재 전송 지연값, 최대 전송 지연값을 비교한 결과에 따라 애그리게이션 레벨 결정할 수 있다. 그리고 전송 제어부(430)는 애그리게이션 레벨을 버퍼(420)에 설정할 수 있다.
예를 들어, 전송 제어부(412)는 데이터베이스(420)에 가장 오래전에 저장된 데이터 패킷의 현재 전송 지연값이 최대 전송 지연값의 반값보다 크면, 증가치를 1만큼 가증하고, 가증된 증가치가 기준값 보다 크면 기존의 애그리게이션 레벨을 1레벨 만큼 가증할 수 있다. 만약, 데이터 패킷의 현재 전송 지연값이 최대 전송 지연값의 반값 이하이면, 감소치를 1만큼 가증하고, 가증된 감소치가 기준값보다 크면, 애그리게이션 레벨을 1레벨 만큼 감소할 수 있다.
버퍼(420)는 전송 제어부(412)에 의해 설정된 애그리게이션의 레벨을 데이터베이스(430)에 전달하고, 데이터베이스(430)는 전달된 애그리게이션 레벨과, 데이터 저장부(432)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(420)로 전달할 데이터 패킷을 결정할 수 있다.
다음으로 도4 내지 도9를 참조하여, 도3에 도시된 전자 장치(400)의 동작 과정을 설명하면 다음과 같다.
도4는 본 발명의 제1실시예에 따라 데이터를 전송하는 과정을 나타낸 도면이다. 본 발명의 제1실시예는 데이터 패킷의 재전송시 재전송 지연값을 적정하게 설정하여 전송함으로써, 데이터 패킷의 전송 지연 및 손실을 감소시키고, 전자 장치(400)의 소모 전력을 감소시킬 수 있는 실시예를 나타낸 것이다.
도4를 참조하면, 프로세서(410)는 501단계에서 센서부(450)에 의해 외부 환경으로부터의 취득된 정보, 다시 말해, 센서부(450)에 의해 측정된 센서 데이터를 포함하는 데이터 패킷을 생성하면, 505단계로 진행하여, 버퍼(420)에 데이터 패킷을 저장할 수 있는 저장 공간이 있는지 확인할 수 있다. 505단계에서 버퍼(420)에 저장 공간이 있으면, 507단계로 진행하여 데이터 패킷을 버퍼에 저장하고, 511단계로 진행할 수 있다. 505단계에서 버퍼(420)에 저장 공간이 없는 것으로 확인되면, 509단계로 진행하여 데이터베이스(430)에 데이터 패킷을 저장하고 511단계로 진행할 수 있다.
511단계에서 프로세서(410)는 주기적인 데이터 패킷의 전송에 따라, 또는 애플리케이션의 요청에 따라 데이터 패킷 전송이 필요하면, 데이터 패킷의 버퍼(420)에 저장된 데이터 패킷 중에, 전송 순서에 따라 전송할 데이터 패킷을 선택하고, 선택된 데이터 패킷에 대한 주변 장치로의 전송을 시도할 수 있다.
513단계에서 프로세서(410)는 주변 장치로부터 데이터 패킷 전송에 대응하여 수신된 응답이 전송 성공이면 517단계로 진행하고, 전송 실패이면 515단계로 진행할 수 있다.
515단계에서 프로세서(410)은 데이터 패킷의 재전송을 시도하기 위해, 데이터 패킷의 최대 전송 지연값, 현재 전송 지연값, 및 현재 수신 전계 강도를 이용하여 재전송 지연값을 결정하고, 결정된 재전송 지연값에 따라 데이터 패킷의 재전송을 시도할 수 있다.
515단계의 데이터 패킷의 전송 처리가 완료되면, 517단계에서 프로세서(410)는 데이터베이스(430)에 데이터 패킷이 존재하는지 확인할 수 있다. 데이터베이스(430)에 데이터 패킷이 존재하면 519단계로 진행하여 데이터베이스(430)에서 데이터 패킷이 도출되어 버퍼(420)에 저장될 수 있도록 제어하고, 상기한 511단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
데이터베이스(430)에 데이터 패킷이 존재하지 않으면, 상기한 501단계로 진행할 수 있다. 그리고 501단계에서 새로운 데이터 패킷이 생성되지 않으면, 503단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 남아 있는지 확인하여 남아 있으면, 상기한 511단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
상기한 515단계의 재전송 과정을 도5에 도시하였다. 도5는 본 발명의 실시예에 따른 데이터 패킷의 재전송 과정을 나타낸 도면이다. 도5를 참조하면, 프로세서(410)은 601단계에서 해당 데이터 패킷의 현재 전송 지연값과 최대 전송 지연값을 비교하고, 그 결과, 현재 전송 지연값이 최대 전송 지연값 보다 크면, 611단계로 진행하여 디폴트 전송 지연값을 재전송 지연값으로 결정할 수 있다.
한편, 프로세서(410)는 601단계에서 현재 전송 지연값이 최대 전송 지연값 이하이면, 603단계로 진행하여 추가 전송 지연값을 계산할 수 있다. 추가 전송 지연값은 예를 들어 최대 전송 지연값에서 현재 전송 지연값을 차감한 값일 수 있다.
이후 605단계에서, 프로세서(410)는 현재 측정된 수신 전계 강도와 최소 전계 강도를 비교하여, 최소 전계 강도보다 현재의 추신 전계 강도가 작으면 607단계로 진행하여, 디폴트 전송 지연값에 추가 지연값을 추가하여 최종 전송 지연값을 계산할 수 있다. 그리고 609단계에서 프로세서(410)는 최종 전송 지연값을 재전송 지연값으로 결정할 수 있다.
그리고 613단계에서 프로세서(410)는 619단계 또는 611단계에서 결정된 재전송 지연값에 전송을 지연한 후에 데이터 패킷을 재전송할 수 있다.
다시 말해, 현재의 수신 전계 강도가 데이터 전송시 요구되는 최소의 전계 강도보다 작으면, 데이터 패킷의 최대 전송 지연값을 고려하여, 데이터 패킷의 전송을 좀더 지연시켜 전송하는 것이다. 이에 따라, 무선 환경이 불안한 상태일 때는 데이터 패킷의 전송을 시도하지 않을 수 있고, 이로 인해, 데이터 손실 및 데이터 전송에 따른 소모 전류를 감소시킬 수 있다.
613단계에서 패킷 재전송 후, 프로세서(410)는 615단계에서 주변 장치로부터 전송 성공 응답이 수신되면 행당 데이터 패킷에 대한 전송 처리를 완료할 수 있다.
한편, 주변 장치로부터 전송 실패 응답이 수신되면, 프로세서(410)는 지금까지의 전송 횟수가 최대 전송 횟수인지 확인하고, 최대 전송 횟수 보다 작다면 상기한 601단계로 진행하여 재전송을 시도할 수 있다. 만약 지금까지의 전송 횟수가 최대 전송 횟수와 같다면, 프로세서(410)은 619단계로 진행하여 해당 데이터 패킷을 드랍하고, 해당 데이터 패킷에 대한 전송 처리를 완료할 수 있다.
도6은 본 발명의 제2실시예에 따라 데이터를 전송하는 과정을 나타낸 도면이다. 본 발명의 제2실시예는 데이터베이스에 저장된 데이터 패킷을 애그리게이션 레벨에 따라 적정하게 설정하여 전송함으로써, 데이터 패킷의 전송 지연 및 손실을 감소시키고, 전자 장치(400)의 소모 전력을 감소시킬 수 있는 실시예를 나타낸 것이다.
도6을 참조하면, 프로세서(410)는 701단계에서 센서부(450)에 의해 외부 환경으로부터의 취득된 정보, 다시 말해, 센서부(450)에 의해 측정된 센서 데이터를 포함하는 데이터 패킷을 생성하면, 705단계로 진행하여, 버퍼(420)에 데이터 패킷을 저장할 수 있는 저장 공간이 있는지 확인할 수 있다. 705단계에서 버퍼(430)에 저장 공간이 있으면, 707단계로 진행하여 데이터 패킷을 버퍼에 저장하고, 711단계로 진행할 수 있다. 705단계에서 버퍼(430)에 저장 공간이 없는 것으로 확인되면, 709단계로 진행하여 데이터베이스(430)에 데이터 패킷을 저장하고 711단계로 진행할 수 있다.
711단계에서 프로세서(410)는 주기적인 데이터 패킷의 전송에 따라, 또는 애플리케이션의 요청에 따라 데이터 패킷 전송이 필요하면, 데이터 패킷의 버퍼(420)에 저장된 데이터 패킷 중에, 전송 순서에 따라 전송할 데이터 패킷을 선택하고, 선택된 데이터 패킷에 대한 주변 장치로의 전송 또는 재전송을 시도할 수 있다.
711단계에서 데이터 패킷에 대한 전송 처리가 완료되면, 713단계에서 프로세서(410)는 데이터베이스(430)에 데이터 패킷이 존재하는지 확인할 수 있다. 데이터 패킷에 대한 전송 처리의 완료는 해당 데이터 패킷이 주변 장치에게 성공적으로 전송되거나, 또는 전송이 최종 실패되어 드랍되어 더 이상 해당 데이터 패킷에 대한 전송이 시도되지 않은 상태를 의미할 수 있다. 713단계의 확인 결과, 데이터베이스(430)에 데이터 패킷이 존재하면 715단계에서 프로세서(410)는 데이터베이스(430)에 가장 먼저 저장된 데이터 패킷의 현재 전송 지연값과, 최대 전송 지연값을 비교한 결과에 따라 애그리게이션 레벨을 결정할 수 있다. 애그리게이션 레벨은 한번의 데이터 전송시 처리될 데이터 패킷의 개수를 나타낼 수 있다.
715단계에 따른 애그리게이션 레벨의 결정 과정을 도7에 도시하였다. 도7을 참조하면, 프로세서(410)는 801단계에서 데이터베이스(430)에 저장된 가장 오래된 데이터 패킷, 다시 말해, 전송 순서가 가장 빠른 데이터 패킷을 선택할 수 있다. 그리고 803단계에서 프로세서(410)는 데이터 패킷의 현재 전송 지연값과, 데이터 패킷의 최대 전송 지연값의 반값을 비교하여, 현재 전송 지연값이 데이터 패킷의 최대 전송 지연값의 반값 보다 크면 805단계로 진행할 수 있다. 805단계에서, 프로세서(410)는 증가치를 1만큼 가증하고, 감소치는 0으로 설정할 수 있다. 이후 807단계에서 프로세서(410)는 가증된 증가치와 기준값을 비교하고, 비교 결과, 증가치가 기준값보다 크면 809단계에서 애그리게이션 레벨을 1만큼 가증할 수 있다. 이때, 증가치와 감소치는 0으로 리셋될 수 있다. 만약, 807단계에서 비교 결과, 증가치가 기준값 이하이면, 811단계에서 프로세서(410)는 기존의 애그리게이션 레벨을 유지할 수 있다. 이때, 증가치는 유지되고, 감소치는 0으로 리셋될 수 있다.
한편, 803단계에서의 비교 결과, 데이터 패킷의 현재 전송 지연값이 데이터 패킷의 최대 전송 지연값의 반값 이하이면, 813단계에서, 프로세서(410)는 감소치를 1만큼 가증하고, 증가치는 0으로 설정할 수 있다. 이후 815단계에서 프로세서(410)는 가증된 감소치와 기준값을 비교하고, 비교 결과, 감소치가 기준값보다 크면 817단계에서, 애그리게이션 레벨이 최소값이 아니라면 애그리게이션 레벨을 1만큼 감소시킬 수 있다. 애그리게이션 레벨이 최소값이라면 애그리게이션 레벨 최소값으로 유지된다. 그리고 증가치와 감소치는 0으로 리셋될 수 있다. 만약, 815단계에서 비교 결과, 감소치가 기준값 이하이면, 819단계에서 기존의 애그리게이션 레벨이 유지될 수 있다. 이때, 감소치는 유지되고, 증가치는 0으로 리셋될 수 있다.
상기한 도7의 과정과 같이, 데이터베이스(430)에서 데이터 패킷이 버퍼(420)로 저장될 때 마다, 해당 데이터 패킷의 현재 전송 지연값과 최대 전송 지연값을 비교하여, 연속해서 현재 전송 지연값이 최대 전송 지연값에 근접한 것으로 확인되면 점차적으로 애그리게이션 레벨이 증가될 수 있다. 그리고 해당 데이터 패킷의 현재 전송 지연값과 최대 전송 지연값을 비교하여, 연속해서 현재 전송 지연값이 최대 전송 지연값에 근접하지 않는 것으로 확인되면 점차적으로 애그리게이션 레벨이 감소될 수 있다.
도6으로 돌아와서, 프로세서(410)는 715단계, 다시 말해 도7의 과정으로 결정된 애그리게이션 레벨을 데이터베이스(430)에 전달함으로써, 717단계와 719단계에서 애그리게이션 레벨과 데이터베이스(430)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(420)로 전달할 데이터 패킷이 결정되고, 버퍼(420)에 저장되도록 제어할 수 있다. 애그리게이션 레벨에 대응해는 데이터 패킷의 개수가 한 개인 경우, 데이터 처리부(431)는 데이터 저장부(432)에 저장된 데이터 패킷 중 최우선 전송 순위를 가지는 데이터 패킷을 대표 데이터 패킷으로 결정할 수 있으며, 버퍼(420)에 저장될 수 있다. 애그리게이션 레벨에 대응하는 데이터 패킷의 개수가 복수개인 경우, 데이터 처리부(431)는 순차적으로 복수개의 데이터 패킷을 선택하고, 선택된 데이터 패킷에 각각에 대응하는 정보를 이용해 대표 정보를 결정할 수 있다. 예를 들어, 데이터 처리부(431)는 복수의 정보의 평균을 대표 정보로 결정할 수 있다. 다른 예로, 데이터 처리부(431)는 복수의 정보 중 어느 하나의 정보를 대표 정보로 결정할 수 있다. 예를 들어, 복수의 정보 중 가장 큰 값, 또는 가장 작은 값, 또는 랜덤하게 선택된 값이 대표 정보로 결정될 수 있다. 데이터 처리부(431)는 대표 정보를 포함하는 대표 데이터 패킷을 구성할 수 있다. 그리고 대표 데이터 패킷이 버퍼(420)에 저장될 수 있다.
그리고 상기한 711단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
상기 713단계에서 확인 결과, 데이터베이스(430)에 데이터 패킷이 존재하지 않으면, 상기한 701단계로 진행할 수 있다. 그리고 701단계에서 새로운 데이터 패킷이 생성되지 않으면, 703단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 남아 있는지 확인하여 남아 있으면, 상기한 711단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
상기한 바와 같이, 해당 데이터 패킷의 현재 전송 지연값과 최대 전송 지연값을 비교하여, 연속해서 현재 전송 지연값이 최대 전송 지연값에 근접한 것으로 확인되면 점차적으로 애그리게이션 레벨을 증가시켜 복수의 데이터 패킷을 한번에 전송하고, 연속해서 현재 전송 지연값이 최대 전송 지연값에 근접하지 않는 것으로 확인되면 점차적으로 애그리게이션 레벨이 감소시켜 한번의 전송시 하나의 데이터 패킷을 전송함으로써, 데이터 패킷의 전송 지연 및 손실을 감소시키고, 전자 장치(400)의 소모 전력을 감소시킬 수 있다.
도8a및 도8b는 본 발명의 제3실시예에 따른 데이터를 전송하는 과정을 나타낸 도면이다. 본 발명의 제2실시예는 데이터 패킷의 재전송시 재전송 지연값을 적정하게 설정하고, 애그리게이션 레벨을 이용하여 데이터 패킷을 전송함으로써, 데이터 패킷의 전송 지연 및 손실을 감소시키고, 전자 장치(400)의 소모 전력을 감소시킬 수 있는 실시예를 나타낸 것이다.
도8a를 참조하면, 프로세서(410)는 901단계에서 센서부(450)에 의해 외부 환경으로부터의 취득된 정보, 다시 말해, 센서부(450)에 의해 측정된 센서 데이터를 포함하는 데이터 패킷을 생성하면, 905단계로 진행하여, 버퍼(420)에 데이터 패킷을 저장할 수 있는 저장 공간이 있는지 확인할 수 있다. 905단계에서 버퍼(450)에 저장 공간이 있으면, 907단계로 진행하여 데이터 패킷을 버퍼에 저장하고, 911단계로 진행할 수 있다. 905단계에서 버퍼(420)에 저장 공간이 없는 것으로 확인되면, 909단계로 진행하여 데이터베이스(430)에 데이터 패킷을 저장하고 911단계로 진행할 수 있다.
911단계에서 프로세서(410)는 주기적인 데이터 패킷의 전송에 따라, 또는 애플리케이션의 요청에 따라 데이터 패킷 전송이 필요하면, 데이터 패킷의 버퍼(420)에 저장된 데이터 패킷 중에, 전송 순서에 따라 전송할 데이터 패킷을 선택하고, 선택된 데이터 패킷에 대한 주변 장치로의 전송을 시도할 수 있다.
913단계에서 프로세서(410)는 주변 장치로부터 데이터 패킷 전송에 대응하여 수신된 응답이 전송 성공이면 917단계로 진행하고, 전송 실패이면 915단계로 진행할 수 있다.
915단계에서 프로세서(410)은 데이터 패킷의 재전송을 시도하기 위해, 데이터 패킷의 최대 전송 지연값, 현재 전송 지연값, 및 현재 수신 전계 강도를 이용하여 재전송 지연값을 결정하고, 결정된 재전송 지연값에 따라 데이터 패킷의 재전송을 시도할 수 있다. 915단계에서의 재전송 과정은 도5에 도시된 과정과 유사할 수 있다.
915단계의 데이터 패킷의 전송 처리가 완료되면, 917단계에서 프로세서(410)는 데이터베이스(430)에 데이터 패킷이 존재하는지 확인할 수 있다. 데이터 패킷에 대한 전송 처리의 완료는 해당 데이터 패킷이 주변 장치에게 성공적으로 전송되거나, 또는 전송이 최종 실패되어 드랍되어 더 이상 해당 데이터 패킷에 대한 전송이 시도되지 않은 상태를 의미할 수 있다.
917단계에서 프로세서(410)는 데이터베이스(430)에 데이터 패킷이 존재하는지 확인할 수 있다. 917단계의 확인 결과, 데이터베이스(430)에 데이터 패킷이 존재하면 도8b의 919단계에서 프로세서(410)는 데이터베이스(430)에 가장 먼저 저장된 데이터 패킷의 현재 전송 지연값과, 최대 전송 지연값을 비교한 결과에 따라 애그리게이션 레벨을 결정할 수 있다. 919단계에 따른 애그리게이션 레벨의 결정 과정을 도7과 유사할 수 있다.
프로세서(410)는 919단계에서 결정된 애그리게이션 레벨을 데이터베이스(430)에 전달함으로써, 921단계 내지 925단계에서 애그리게이션 레벨과 데이터베이스(430)에 저장된 데이터 패킷의 전송 순서에 따라, 버퍼(420)로 전달할 데이터 패킷이 결정되고, 결정된 데이터 패킷의 최대 전송 지연값이 결정되고, 버퍼(420)에 저장되도록 제어할 수 있다.
애그리게이션 레벨에 대응해는 데이터 패킷의 개수가 한 개인 경우, 데이터 처리부(431)는 데이터 저장부(432)에 저장된 데이터 패킷 중 최우선 전송 순위를 가지는 데이터 패킷을 대표 데이터 패킷으로 결정할 수 있으, 버퍼(420)에 저장될 수 있다. 그리고 대표 데이터 패킷의 최대 전송 지연 값은 최우선 전송 순위를 가지는 데이터 패킷의 최대 전송 지연값과 동일할 것이다.
애그리게이션 레벨에 대응하는 데이터 패킷의 개수가 복수개인 경우, 데이터 처리부(431)는 순차적으로 복수개의 데이터 패킷을 선택하고, 선택된 데이터 패킷에 각각에 포함된 정보를 이용해 대표 정보를 결정할 수 있다. 예를 들어, 데이터 처리부(431)는 복수의 정보의 평균을 대표 정보로 결정하여, 대표 정보로 결정할 수 있다. 다른 예로, 데이터 처리부(431)는 복수의 정보 중 어느 하나의 정보를 대표 정보로 결정할 수 있다. 예를 들어, 복수의 정보 중 가장 큰 값, 또는 가장 작은 값, 또는 랜덤하게 선택된 값이 대표 정보로 결정될 수 있다. 데이터 처리부(431)는 대표 정보를 포함하는 대표 데이터 패킷을 구성되어, 버퍼(420)에 저장될 수 있다.
그리고 애그리게이션 레벨에 대응하여 선택된 데이터 패킷에 각각에 대응하는 최대 전송 지연값을 이용해 대표 데이터 패킷의 최대 전송 지연값이 결정될 수 있다. 예를 들어, 복수의 데이터 패킷 각각의 최대 전송 지연값의 평균이 대표 데이터 패킷의 최대 전송 지연값이 될 수 있다. 다른 예로, 복수의 데이터 패킷 각각의 최대 전송 지연값 중 어느 하나가 대표 데이터 패킷의 최대 전송 지연값으로 결정될 수 있다. 예를 들어, 복수의 최대 전송 지연값 중 가장 큰 값, 또는 가장 작은 값, 또는 랜덤하게 선택된 값이 대표 데이터 패킷의 최대 전송 지연값으로 결정될 수 있다.
그리고 상기한 911단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
상기 917단계에서 확인 결과, 데이터베이스(430)에 데이터 패킷이 존재하지 않으면, 상기한 901단계로 진행할 수 있다. 그리고 701단계에서 새로운 데이터 패킷이 생성되지 않으면, 903단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 남아 있는지 확인하여 남아 있으면, 상기한 911단계로 진행하여 버퍼(420)에 저장된 데이터 패킷이 전송될 수 있게 한다.
상기한 바와 같이, 데이터를 전송함으로써, 데이터 패킷의 전송 지연 및 손실을 감소시키고, 전자 장치(400)의 소모 전력을 감소시킬 수 있다.
상술한 바와 같이, 데이터 패킷 재전송시 전송 지연값을 현재의 수신 전계 강도에 따라 결정함으로써, 무선 환경이 불량한 상태에서 불필요한 데이터 패킷의 재전송을 억제하여, 소모전류를 절약할 수 있다. 또한 별도의 데이터베이스를 구비함으로써, 전송 지연과 부족한 버퍼 저장 공간의 제약을 해결할 수 있다. 그리고 데이터 패킷의 전송 지연이 최대 전송 지연을 초과할 경우 데이터베이스에 저장된 복수의 데이터 패킷을 한번의 전송으로 처리될 수 있게 함으로써, 전송 주기를 조절할 수 있고, 소모 전력을 감소시킬 수 있다. 그리고 애플리케이션이 요구하는 전송 지연에 따라 데이터 패킷의 전송 지연을 조절할 수 있다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.

Claims (24)

  1. 전자 장치의 데이터 전송 방법에 있어서,
    전송 순서에 따라 버퍼에서 선택된 데이터 패킷을 전송하는 과정과,
    상기 선택된 데이터 패킷의 전송이 실패하면, 상기 선택된 데이터 패킷에 대응되는 최대 전송 지연값과, 상기 선택된 데이터 패킷의 현재 전송 지연값과, 현재 측정된 수신 전계 강도를 이용하여, 재전송 지연값을 결정하는 과정과,
    상기 재전송 지연값 만큼 데이터 전송을 지연한 후에, 상기 선택된 데이터 패킷을 재전송하는 과정을 포함함을 특징으로 하는 데이터 전송 방법.
  2. 제1항에 있어서, 상기 재전송 지연값을 결정하는 과정은,
    상기 현재 전송 지연값이 상기 최대 전송 지연값 이하이면, 상기 최대 전송 지연값에서 상기 현재 전송 지연값을 차감하여 추가 지연 전송값을 산출하고, 상기 측정된 수신 전계 강도가 최소 수신 전계 강도보다 작으면 상기 추가 지연 전송값을 디폴트 지연 전송값에 더하여, 상기 재전송 지연값을 결정하는 과정임을 특징으로 하는 데이터 전송 방법.
  3. 제2항에 있어서, 상기 현재 전송 지연값이 상기 최대 전송 지연값보다 크거나, 상기 상기 측정된 수신 전계 강도가 최소 수신 전계 강도보다 크면, 상기 디폴트 지연 전송값이 상기 재전송 지연값으로 결정됨을 특징으로 하는 데이터 전송 방법.
  4. 제3항에 있어서, 상기 전자 장치에 의해 생성된 정보를 포함하는 데이터 패킷을 생성하는 과정과,
    상기 버퍼에 남은 저장 공간이 있으면, 상기 생성된 데이터 패킷을 상기 버퍼에 저장하고, 상기 버퍼에 남은 저장 공간이 없으면 상기 생성된 데이터 패킷을 데이터베이스에 저장하는 과정을 더 포함함을 특징으로 하는 데이터 전송 방법.
  5. 제4항에 있어서, 상기 버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장하는 과정을 더 포함함을 특징으로 하는 데이터 전송 방법.
  6. 제5항에 있어서, 상기 애그리게이션 레벨에 대응하여 복수의 데이터 패킷이 선택되면, 상기 복수의 데이터 패킷 각각에 대응하는 정보들의 평균, 최대치, 최소치, 랜덤하게 선택된 값 중 어느 하나의 값을 포함하는 상기 대표 데이터 패킷이 결정됨을 특징으로 하는 데이터 전송 방법.
  7. 제5항에 있어서, 상기 애그리게이션 레벨은 상기 데이터베이스에 최우선 전송 순위를 가지는 특정 데이터 패킷의 현재 전송 지연값 및 최대 전송 지연값을 비교한 결과에 따라 결정됨을 특징으로 하는 데이터 전송 방법.
  8. 제7항에 있어서, 상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 보다 크면, 증가치를 가증하고, 가증된 증가치가 기준값보다 크면 애그리게이션 레벨이 가증되고,
    상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 이하이면, 감소치를 가증하고, 가증된 감소치가 기준값보다 크면 애그리게이션 레벨이 감소됨을 특징으로 하는 데이터 전송 방법.
  9. 전자 장치의 데이터 전송 방법에 있어서,
    상기 전자 장치에 의해 생성된 정보를 포함하는 데이터 패킷을 생성하는 과정과,
    버퍼에 남은 저장 공간이 없으면 상기 생성된 데이터 패킷을 데이터베이스에 저장하는 과정과,
    버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장하는 과정과,
    상기 버퍼에 저장된 데이터 패킷을 순차적으로 전송하는 과정을 포함함을 특징으로 하는 데이터 전송 방법.
  10. 제9항에 있어서, 상기 애그리게이션 레벨에 대응하여 복수의 데이터 패킷이 선택되면, 상기 복수의 데이터 패킷 각각에 대응하는 정보들의 평균, 최대치, 최소치, 랜덤하게 선택된 값 중 어느 하나의 값을 포함하는 상기 대표 데이터 패킷이 결정됨을 특징으로 하는 데이터 전송 방법.
  11. 제10항에 있어서, 상기 애그리게이션 레벨은 상기 데이터베이스에 최우선 전송 순위를 가지는 특정 데이터 패킷의 현재 전송 지연값 및 최대 전송 지연값을 비교한 결과에 따라 결정됨을 특징으로 하는 데이터 전송 방법.
  12. 제11항에 있어서, 상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 보다 크면, 증가치를 가증하고, 가증된 증가치가 기준값보다 크면 애그리게이션 레벨이 가증되고,
    상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 이하이면, 감소치를 가증하고, 가증된 감소치가 기준값보다 크면 애그리게이션 레벨이 감소됨을 특징으로 하는 데이터 전송 방법.
  13. 전자 장치에 있어서,
    데이터를 송수신하는 송수신부와,
    데이터 패킷이 저장되는 버퍼와,
    전송 순서에 따라 상기 버퍼에서 선택된 버퍼의 데이터 패킷을 상기 송수신부를 통해 전송하고, 상기 선택된 데이터 패킷의 전송이 실패하면, 상기 선택된 데이터 패킷에 대응되는 최대 전송 지연값과, 상기 선택된 데이터 패킷의 현재 전송 지연값과, 현재 측정된 수신 전계 강도를 이용하여, 재전송 지연값을 결정하고, 상기 재전송 지연값 만큼 데이터 전송을 지연한 후에, 상기 선택된 데이터 패킷을 상기 송수신부를 통해 재전송하는 프로세서를 포함함을 특징으로 하는 전자 장치.
  14. 제13항에 있어서, 상기 프로세서는 상기 현재 전송 지연값이 상기 최대 전송 지연값 이하이면, 상기 최대 전송 지연값에서 상기 현재 전송 지연값을 차감하여 추가 지연 전송값을 산출하고, 상기 측정된 수신 전계 강도가 최소 수신 전계 강도보다 작으면 상기 추가 지연 전송값을 디폴트 지연 전송값에 더하여, 상기 재전송 지연값을 결정함을 특징으로 하는 전자 장치.
  15. 제14항에 있어서, 상기 현재 전송 지연값이 상기 최대 전송 지연값보다 크거나, 상기 상기 측정된 수신 전계 강도가 최소 수신 전계 강도보다 크면, 상기 디폴트 지연 전송값이 상기 재전송 지연값으로 결정됨을 특징으로 하는 전자 장치.
  16. 제15항에 있어서, 상기 프로세서는 전자 장치에 의해 생성된 정보를 포함하는 데이터 패킷을 생성하고, 상기 버퍼에 남은 저장 공간이 있으면, 상기 생성된 데이터 패킷을 상기 버퍼에 저장하고, 상기 버퍼에 남은 저장 공간이 없으면 상기 생성된 데이터 패킷을 데이터베이스에 저장함을 특징으로 하는 전자 장치.
  17. 제16항에 있어서, 상기 프로세서는 상기 버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장함을 특징으로 하는 전자 장치.
  18. 제17항에 있어서, 상기 애그리게이션 레벨에 대응하여 복수의 데이터 패킷이 선택되면, 상기 복수의 데이터 패킷 각각에 대응하는 정보들의 평균, 최대치, 최소치, 랜덤하게 선택된 값 중 어느 하나의 값을 포함하는 상기 대표 데이터 패킷이 결정됨을 특징으로 하는 전자 장치.
  19. 제17항에 있어서, 상기 애그리게이션 레벨은 상기 데이터베이스에 최우선 전송 순위를 가지는 특정 데이터 패킷의 현재 전송 지연값 및 최대 전송 지연값을 비교한 결과에 따라 결정됨을 특징으로 하는 전자 장치.
  20. 제19항에 있어서, 상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 보다 크면, 증가치를 가증하고, 가증된 증가치가 기준값보다 크면 애그리게이션 레벨이 가증되고,
    상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 이하이면, 감소치를 가증하고, 가증된 감소치가 기준값보다 크면 애그리게이션 레벨이 감소됨을 특징으로 하는 전자 장치.
  21. 전자 장치에 있어서,
    데이터를 송수신하는 송수신부와,
    데이터 패킷이 저장되는 버퍼와,
    상기 버퍼에 남은 저장 공간이 없으면 데이터 패킷을 저장하고,
    상기 버퍼의 저장 공간이 확보되면, 상기 데이터페이스에서 애그리게이션 레벨에 대응하는 개수만큼 선택된 데이터 패킷을 이용해 대표 데이터 패킷을 결정하고, 상기 대표 데이터 패킷을 상기 버퍼에 저장하는 데이터베이스와,
    상기 애그리게이션 레벨을 결정하고, 상기 버퍼에 저장된 데이터 패킷을 상기 송수신부를 통해 순차적으로 전송하는 프로세서를 포함함을 특징으로 하는 전자 장치.
  22. 제21항에 있어서, 상기 애그리게이션 레벨에 대응하여 복수의 데이터 패킷이 선택되면, 상기 복수의 데이터 패킷 각각에 대응하는 정보들의 평균, 최대치, 최소치, 랜덤하게 선택된 값 중 어느 하나의 값을 포함하는 상기 대표 데이터 패킷이 결정됨을 특징으로 하는 전자 장치.
  23. 제21항에 있어서, 상기 프로세서는 상기 데이터베이스에 최우선 전송 순위를 가지는 특정 데이터 패킷의 현재 전송 지연값 및 최대 전송 지연값을 비교한 결과에 상기 애그리게이션 레벨을 결정함을 특징으로 하는 전자 장치.
  24. 제23항에 있어서, 상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 보다 크면, 증가치를 가증하고, 가증된 증가치가 기준값보다 크면 애그리게이션 레벨이 가증되고,
    상기 특정 데이터 패킷의 현재 전송 지연값이 상기 특정 데이터 패킷의 최대 전송 지연값의 반값 이하이면, 감소치를 가증하고, 가증된 감소치가 기준값보다 크면 애그리게이션 레벨이 감소됨을 특징으로 하는 전자 장치.
KR1020150009503A 2015-01-20 2015-01-20 전자 장치의 데이터 전송 방법 및 장치 KR102318736B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150009503A KR102318736B1 (ko) 2015-01-20 2015-01-20 전자 장치의 데이터 전송 방법 및 장치
PCT/KR2016/000454 WO2016117881A1 (en) 2015-01-20 2016-01-15 Method and device for transmitting data in electronic device
EP16740354.2A EP3248342B1 (en) 2015-01-20 2016-01-15 Method and device for transmitting data by an electronic device
US15/000,238 US10193644B2 (en) 2015-01-20 2016-01-19 Method and device for transmitting data in electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150009503A KR102318736B1 (ko) 2015-01-20 2015-01-20 전자 장치의 데이터 전송 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160089810A true KR20160089810A (ko) 2016-07-28
KR102318736B1 KR102318736B1 (ko) 2021-10-29

Family

ID=56408646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150009503A KR102318736B1 (ko) 2015-01-20 2015-01-20 전자 장치의 데이터 전송 방법 및 장치

Country Status (4)

Country Link
US (1) US10193644B2 (ko)
EP (1) EP3248342B1 (ko)
KR (1) KR102318736B1 (ko)
WO (1) WO2016117881A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10848459B2 (en) * 2017-09-29 2020-11-24 Intel Corporation Technologies for scheduling time sensitive cyclical network traffic in real-time
EP3714565A4 (en) 2017-11-20 2021-07-07 QUALCOMM Incorporated DYNAMIC TERMINATION OF HYBRID REPEAT AUTOMATIC REQUEST RETRANSMISSIONS

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539026B1 (en) * 1999-03-15 2003-03-25 Cisco Technology, Inc. Apparatus and method for delay management in a data communications network
EP1450521A2 (en) * 2003-02-19 2004-08-25 Nec Corporation Wireless communication system and method which improves reliability and throughput of communication through retransmission timeout optimization
US20060146831A1 (en) * 2005-01-04 2006-07-06 Motorola, Inc. Method and apparatus for modulating radio link control (RLC) ACK/NAK persistence to improve performance of data traffic
US20140295858A1 (en) * 2013-03-29 2014-10-02 Intel IP Corporation User equipment and method for distributed channel access for d2d communications

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003105356A1 (en) 2002-06-07 2003-12-18 Ember Corporation Ad hoc wireless network using gradient routing
KR100600735B1 (ko) * 2004-02-25 2006-07-14 엘지전자 주식회사 무선 네트워크 스트리밍 서버 시스템 및 그 동작방법
WO2007025561A1 (en) * 2005-09-01 2007-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Processing encoded real-time data
US7903566B2 (en) * 2008-08-20 2011-03-08 The Boeing Company Methods and systems for anomaly detection using internet protocol (IP) traffic conversation data
JP5441932B2 (ja) * 2009-01-30 2014-03-12 パナソニック株式会社 無線通信基地局装置、無線通信端末装置およびcce割当方法
JP5402581B2 (ja) * 2009-12-01 2014-01-29 富士通株式会社 パケット中継装置および輻輳制御方法
KR20110092966A (ko) * 2010-02-11 2011-08-18 삼성전자주식회사 네트워크에서 세션 설정 지연시간을 최소화하기 위한 방법 및 장치
US8694812B2 (en) * 2010-03-29 2014-04-08 Dot Hill Systems Corporation Memory calibration method and apparatus for power reduction during flash operation
US8831041B2 (en) 2011-06-27 2014-09-09 Citrix Systems, Inc. Prioritizing highly compressed traffic to provide a predetermined quality of service
KR101857565B1 (ko) * 2012-06-11 2018-05-14 에스케이텔레콤 주식회사 다중 네트워크 기반 동시 전송 서비스를 지원하는 장치
KR101470575B1 (ko) * 2013-04-29 2014-12-10 숭실대학교산학협력단 패킷 송수신을 제어하는 망연동장치 및 방법
EP2882120B1 (en) * 2013-12-06 2016-03-09 ADVA Optical Networking SE A method and apparatus for mitigation of packet delay variation
KR101409066B1 (ko) 2014-02-26 2014-07-02 연세대학교 산학협력단 서비스 품질(QoS)과 최소 소비전력을 제공하는 모바일 중계 네트워크 및 이를 위한 디바이스, 그 구동 방법
US8879507B2 (en) * 2014-05-27 2014-11-04 Bandwidth.Com, Inc. Techniques for establishing a communication handoff threshold using user feedback

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539026B1 (en) * 1999-03-15 2003-03-25 Cisco Technology, Inc. Apparatus and method for delay management in a data communications network
EP1450521A2 (en) * 2003-02-19 2004-08-25 Nec Corporation Wireless communication system and method which improves reliability and throughput of communication through retransmission timeout optimization
US20060146831A1 (en) * 2005-01-04 2006-07-06 Motorola, Inc. Method and apparatus for modulating radio link control (RLC) ACK/NAK persistence to improve performance of data traffic
US20140295858A1 (en) * 2013-03-29 2014-10-02 Intel IP Corporation User equipment and method for distributed channel access for d2d communications

Also Published As

Publication number Publication date
WO2016117881A1 (en) 2016-07-28
US10193644B2 (en) 2019-01-29
EP3248342A1 (en) 2017-11-29
US20160212057A1 (en) 2016-07-21
KR102318736B1 (ko) 2021-10-29
EP3248342B1 (en) 2019-04-17
EP3248342A4 (en) 2017-12-20

Similar Documents

Publication Publication Date Title
US11108284B2 (en) Wireless power transmitting device and method for controlling the same
CN115226117B (zh) 波束指示方法、装置、设备及介质
KR102574145B1 (ko) 무선 전력 송신기 및 그 제어 방법
EP3866558B1 (en) Electronic device and communication connecting method thereof
KR102284050B1 (ko) 무선통신 시스템에서 전자 장치의 트래픽 제어 방법 및 장치
EP3152933B1 (en) Automatically connecting a user equipment device with a partner device
KR102126994B1 (ko) 채널 선택을 위한 방법 및 그 전자 장치
US20170127445A1 (en) Apparatus and method for controlling connection interval in wireless communication system supporting bluetooth scheme
KR20150083708A (ko) 전자 장치의 데이터 스트리밍 방법 및 그 전자 장치
CN108011771A (zh) 网络链路可用带宽的探测方法、装置和设备
US20050021827A1 (en) Data processing device, data processing system, data processing method, data processing program and recording medium storing the program
WO2019192384A1 (zh) 探测参考信号传输、配置方法、用户设备及网络侧设备
KR102496060B1 (ko) 전자 장치 및 그의 전송 제어 프로토콜(transmission control protocol: TCP) 제어 방법
KR20160131413A (ko) 무선 통신 시스템에서 데이터 레이트 제어 장치 및 방법
KR102394947B1 (ko) 무선 통신 시스템에서 모바일 디바이스의 신호 검출을 위한 스캔 주기를 제어하는 방법 및 모바일 디바이스
US9577962B2 (en) Dynamic buffering method and apparatus for providing streaming
KR20190043765A (ko) 다중 대역 무선 통신을 지원하는 전자 장치 및 이의 제어 방법
WO2023011352A1 (zh) 下行控制信息指示方法、上行信道传输秩确定方法及装置
US8982794B2 (en) Determination of packet retransmission using time threshold
US20160134743A1 (en) Method and apparatus for managing function of wearable device
KR20100113263A (ko) 무선통신 시스템에서 액티브싱크 서비스 핑 주기 결정 방법 및 장치
KR20160089810A (ko) 전자 장치의 데이터 전송 방법 및 장치
KR20170052269A (ko) 멀티미디어 시스템에서 데이터 제공 방법 및 장치
CN113507353B (zh) 时偏调整方法、系统、电子设备及存储介质
CN113507352B (zh) 时偏调整方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right