KR100951564B1 - 암호화된 블록데이터 전송시의 전력절감방법 및 시스템 - Google Patents

암호화된 블록데이터 전송시의 전력절감방법 및 시스템

Info

Publication number
KR100951564B1
KR100951564B1 KR1020080053557A KR20080053557A KR100951564B1 KR 100951564 B1 KR100951564 B1 KR 100951564B1 KR 1020080053557 A KR1020080053557 A KR 1020080053557A KR 20080053557 A KR20080053557 A KR 20080053557A KR 100951564 B1 KR100951564 B1 KR 100951564B1
Authority
KR
South Korea
Prior art keywords
block data
data
time
encrypted
frequency
Prior art date
Application number
KR1020080053557A
Other languages
English (en)
Other versions
KR20090127527A (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 KR1020080053557A priority Critical patent/KR100951564B1/ko
Publication of KR20090127527A publication Critical patent/KR20090127527A/ko
Application granted granted Critical
Publication of KR100951564B1 publication Critical patent/KR100951564B1/ko

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 암호화 전송시의 전력절감방법 및 시스템에 관한 것으로, 데이터 암호화 수행시보다 적은 전력을 소모하게 하기 위한 암호화된 블록데이터 전송시의 전력절감방법 및 시스템에 관한 것이다.
본 발명에 따른 암호화 전송시의 전력절감방법은, (a)입력 블록 데이터를 지정된 전압 및 주파수로 동작하는 프로세서를 이용하여 암호화하는 단계, (b)암호화된 블록 데이터를 전송하기 위하여 네트워크 버퍼로 이동시키는 단계, (c)이동된 암호화된 블록 데이터중 가장 최근에 이동된 N개의 암호화된 블록 데이터의 크기와 동일한 크기의 블록 데이터가 전송되는 데 소요되는 시간을 측정하는 단계, (d)측정된 시간과 기계적 명령데이터를 결정 로직으로 전송하는 단계, (e)전송된 시간을 다음에 입력되는 블록 데이터의 암호화에 대한 임계 생성시간(Tdeadline)으로 간주하고, 기계적 명령데이터를 소정의 수식에 의하여 연산하여 다음에 입력되는 블록 데이터의 암호화에 소모되는 클럭 사이클의 수를 산출하는 단계, (f)임계 생성시간 및 클럭 사이클의 수를 이용하여 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하는 단계, (g)결정된 인가 전압 및 주파수와 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 프로세서에 전송하는 단계를 포함한다.
암호화된 블록 데이터, 결정로직, 임계 생성시간, 유휴시간

Description

암호화된 블록데이터 전송시의 전력절감방법 및 시스템 {METHOD FOR REDUCTING TRANSFER POWER OF ENCRYPTED BLOCK DATA AND SYSTEM USING THEREOF}
본 발명은 암호화된 블록데이터 전송시의 전력절감방법 및 시스템에 관한 것으로서, 특히, 데이터 암호화 수행시보다 적은 전력을 소모하게 하기 위한 암호화된 블록데이터 전송시의 전력절감방법 및 시스템에 관한 것이다.
  
일반적으로, 무선 랜, 블루투스 또는 지그비와 같은 네트워크 인터페이스를 통하여 전송되는 각종 데이터들이 블록 암호화되어 전송되어야 하는 경우가 있다. 이때, 암호화를 미리 끝내더라도 네트워크 인터페이스의 전송 속도 변화에 의해 즉시 전송할 수 없기 때문에, 생성된 데이터를 버퍼에 저장해 두었다가 나중에 전송하는 경우가 발생한다.
많은 사람들이 화상 휴대폰과 같은 휴대용 디지털 기기를 이용하여 다른 사용자의 디지털 기기와 무선 환경을 이용하여 통신하는 환경에서는 서로가 주고받는 데이터에 대해서 사용자의 개인정보 보호 및 사생활 보호 등의 이유로 인해서 암호 화를 수행함으로써 데이터를 다른 사용자에게 노출시키지 않도록 하는 과정이 필요하게 된다. 하지만 암호화 과정은 단말기 중앙처리장치(CPU)에 대부분을 의존하는 작업임과 동시에 전송하려는 모든 데이터에 대한 가공작업을 수반하기 때문에 암호화 과정의 추가는 이를 수행하는 단말기의 에너지 소모를 가속화시켜 제한된 용량의 배터리를 더욱 빨리 소모시키고 동작시간을 단축시키는 단점이 존재한다.
본 발명과 관련된 종래의 기술로는 대한민국 공개특허 10-2007-0100336 “컴퓨팅 시스템의 전력 관리 방법 및 장치”, 대한민국 등록특허 10-0633576-0000 “버퍼를 이용한 실시간 다중 태스크 스케줄링에서의 동적전압 조정 시스템 및 방법”, 그리고 Kyung-Ho Kim, Seung-Ho Lim and Kyu-Ho Park, "Adaptive Read-Ahead and Buffer Management for Multimedia Systems",The 8th International Conference on Internet and Multimedia System and Application, Aug. 2004 가 있다.
대한민국 공개특허 10-2007-0100336 “컴퓨팅 시스템의 전력 관리 방법 및 장치”의 경우, 데이터를 암호화하고 난 뒤에 유휴 시간에 프로세서의 전력 소비를 감소시키고, 웨이크업 조건이 형성되기 전까지 낮은 전력 조건을 유지하는 것을 특징으로 한다. 본 발명은 이와 다르게 데이터의 암호화를 제외한 시간에 프로세서의 전력 소모를 줄이는 것이 아닌 연속적인 데이터의 암호화가 필요한 시점에 있어서, 데이터의 암호화를 수행하는 전 과정에서 네트워크를 통해 전송하는 속도에 지장이 없는 만큼 최대한 데이터의 암호화 속도를 낮추어줌으로써, 시스템의 에너지 소모를 줄이는 것을 특징으로 한다.
또한, 대한민국 등록특허 10-0633576-0000 “버퍼를 이용한 실시간 다중 태스크 스케줄링에서의 동적전압 조정 시스템 및 방법”의 경우, 버퍼링을 도입하여 높은 우선 순위의 태스크 실행이 종료된 시점에 실행시킬 수 있는 릴리스 시간이 도래한 태스크가 존재할 가능성을 높여줌으로써, 프로세서와 작업부하 변동 슬랙 타임(workload-variation slack time)을 최대한 활용하고, 여기에 DVS를 활용하는 것을 특징으로 한다. 본 발명은 이와 다르게 실행되는 태스크의, 보다 구체적으로 데이터의 암호화에 있어서 그 작업부하(workload) 및 수행 시간을 보다 정확한 수준으로 예측하여 슬랙 타임(slack time)을 최소화하고, 여기에 DVS를 적용하여 에너지 소모를 줄이는 것을 특징으로 한다.
마지막으로, Kyung-Ho Kim, Seung-Ho Lim and Kyu-Ho. Park, "Adaptive Read-Ahead and Buffer Management for Multimedia Systems",The 8th International Conference on Internet and Multimedia System and Application, Aug. 2004의 경우, 디스크로부터의 데이터 리드 어헤드(read-ahead)에 의해서 읽혀진 데이터를 네트워크 인터페이스를 통해서 전송하는 경우에 있어서, 미리 읽혀진 데이터들이 네트워크 인터페이스를 통한 데이터 전송에 의해 버퍼 데이터가 소비되는 시간보다 오래 머무르게 되어 한정된 크기의 데이터 버퍼에서 교체되어 버리고, 이후에 다시 읽어들이게 되는 악순환을 방지하기 위해서, 네트워크 전송 속도에 맞추어서 읽어들이는 데이터의 양을 조절하는 것을 특징으로 한다. 본 발명은 이와 다르게 데이터를 버퍼에 읽어들이는 속도를 조정하는 것이 아닌 암호화된 데이터를 생성하는 것을 전송 데이터의 생성으로 보고, 이 속도가 네트워크의 전송 속도에 적응적으로 대응되도록 하여 중앙처리장치의 구동 속도를 조정함으로써, 시스템의 유휴 시간을 활용하여 소비 에너지의 절감을 꾀하는 것을 특징으로 한다. 따라서, 네트워크 전송 속도에 의해서 시스템의 파라미터가 조정된다는 점에서는 일치하나, 그 목적이 디스크로부터의 리드 어헤드(read-ahead)의 양 조절의 효율성 증대와 시스템의 에너지 소모량 감소를 꾀하는 것으로 서로 다르다. 또한, 그 주요 실행 방법이 참고 문헌에서는 읽어들이는 양의 조정을 기본으로 하나, 본 발명에서는 필요한 데이터를 생성해내기 위한 시간을 최대한 정확하게 예측하는 것에 기반하여 DVS(Dynamic Voltage Scaling), DFS(Dynamic Frequency Scaling)를 수행하는 것으로 큰 차이를 보이고 있다.
따라서, 본 발명은 상기한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 항상 높은 클럭 속도와 높은 인가전압을 이용하여 빠르게 주어진 암호화 작업을 처리하고 나서 가지게 되는 유휴 시간을 대상 작업의 양과 클럭 주파수의 변화에 따른 수행 시간의 예측에 기반하여 작업의 속도를 조절함으로써, 디지털 기기에서 소모되는 전력량을 감소시켜 사용 배터리의 수명을 연장시킬 수 있는 암호화된 블록데이터 전송시의 전력절감방법 및 시스템을 제공하는 데 있다.
또한, 디지털 기기의 활용도를 높이고, 동시에 배터리 충전의 주기를 늘여 사용자 편의성을 증대시키기 위한 암호화된 블록데이터 전송시의 전력절감방법 및 시스템을 제공하는 데 있다.
이러한 기술적 과제를 달성하기 위한 청구항 1에 관한 발명인 암호화된 블록데이터 전송시의 전력절감방법은, (a)입력 블록 데이터를 지정된 전압 및 주파수로 동작하는 프로세서를 이용하여 암호화하는 단계, (b)암호화된 블록 데이터를 전송하기 위하여 네트워크 버퍼로 이동시키는 단계, (c)이동된 암호화된 블록 데이터중 가장 최근에 이동된 N개의 암호화된 블록 데이터의 크기와 동일한 크기의 블록 데이터가 전송되는 데 소요되는 시간을 측정하는 단계, (d)측정된 시간과 기계적 명령데이터를 결정 로직으로 전송하는 단계, (e)전송된 시간을 다음에 입력되는 블록 데이터의 암호화에 대한 임계 생성시간(Tdeadline)으로 간주하고, 기계적 명령데이터를 소정의 수식에 의하여 연산하여 다음에 입력되는 블록 데이터의 암호화에 소모되는 클럭 사이클의 수를 산출하는 단계, (f)임계 생성시간 및 클럭 사이클의 수를 이용하여 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하는 단계, (g)결정된 인가 전압 및 주파수와 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 클럭 생성기를 통하여 프로세서에 전송하는 단계를 포함한다.
청구항 2에 관한 암호화된 블록 데이터 전송시의 전력절감방법은, 청구항 1에 있어서, (h)전송된 전압 및 주파수를 이용하여 다음에 입력되는 블록 데이터를 암호화하여 전송하는 단계를 더 포함한다.
청구항 3에 관한 암호화된 블록 데이터 전송시의 전력절감방법은, 청구항 1에 있어서, 임계 생성시간(Tdeadline)은, Tdeadline = ∑각 블록 데이터의 전송시간 + ∑블록 데이터 사이의 유휴시간이다.
청구항 4에 관한 암호화된 블록 데이터 전송시의 전력절감방법은, 기계적 명령 데이터는 입력 블록 데이터의 양, 출력 데이터의 양, 암호화에 필요한 명령의 종류와 사용 개수 및 각 명령의 소모 클럭 주파수의 수, 프로세서에 지정된 전압 또는 주파수의 범위, 상기 프로세서가 전압 또는 주파수를 바꾸기 위하여 필요한 시간을 포함한다.
청구항 5에 관한 암호화된 블록 데이터 전송시의 전력절감방법은, 소정의 수 식은,
NUMclock _ cycle ≒ Cperformance ×
Figure 112008040854261-pat00001
+ ∑TISR + △
(여기서, NUMclock _ cycle : 해당블록 암호화하는데 소모하는 클럭 사이클의 수,
Cperformance: 필요한 클럭사이클의 비율,
∑TISR : ISR이 소모하는 클럭 사이클의 수의 합,
△: 그 외에 발생할 수 있는 소모 클럭 사이클의 합)
이다.
청구항 6에 관한 프로그램을 기록한 컴퓨터 판독가능한 기록매체는, 청구항 1 내지 청구항 5 중 어느 한 항의 암호화된 블록 데이터 전송시의 전력절감방법을 실행시킬 수 있다.
청구항 7에 관한 암호화된 블록 데이터 전송시의 전력절감 시스템은, 실시간으로 다양한 데이터를 생성하여 전송하는 데이터 생성기, 데이터 생성기로부터 전송된 다양한 데이터에 대하여 암호화를 수행하는 프로세서, 프로세서로부터 암호화가 수행된 데이터를 전송받고 이를 저장하는 저장부, 프로세서를 구동시키기 위하여 클럭신호를 인가하는 클럭 생성기, 프로세서와 네트워크 인터페이스로 연결되고, 프로세서로부터 암호화된 블록 데이터중 가장 최근에 이동된 N개의 암호화된 블록 데이터의 크기와 동일한 크기의 블록 데이터가 전송되는 데 소요되는 시간이 상기 최근에 이동된 N개의 암호화된 블록 데이터의 전송시간의 평균으로 산출되어 기계적 명령데이터와 함께 입력되며, 다음에 입력되는 블록 데이터의 임계생성시간과 그를 암호화하는데 소모되는 전압 및 주파수를 결정하여 상기 클럭 생성기에 전송하여주는 결정로직을 포함한다.
청구항 8에 관한 암호화된 블록 데이터 전송시의 전력절감 시스템은, 결정로직은 기계적 명령데이터를 소정의 수식에 의하여 연산하여 다음에 입력되는 블록 데이터의 암호화에 소모되는 클럭 사이클의 수를 산출하고, 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하며, 결정된 인가 전압 및 주파수와 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 클럭 생성기에 전송한다.
청구항 9에 관한 암호화된 블록 데이터 전송시의 전력절감 시스템은, 클럭 생성기는 임계생성시간내에 다음의 입력 블록 데이터에 대한 암호화를 수행하기 위하여 인가 전압 및 주파수를 낮춘다.
청구항 10에 관한 암호화된 블록 데이터 전송시의 전력절감 시스템은, 청구항 7에 있어서, 임계 생성시간(Tdeadline)은, Tdeadline = ∑각 블록 데이터의 전송시간 + ∑블록 데이터 사이의 유휴시간이다.
청구항 11에 관한 암호화된 블록 데이터 전송시의 전력절감시스템은, 기계적 명령 데이터는 입력 블록 데이터의 양, 출력 데이터의 양, 암호화에 필요한 명령의 종류와 사용 개수 및 각 명령의 소모 클럭 주파수의 수, 프로세서에 지정된 전압 또는 주파수의 범위, 프로세서가 전압 또는 주파수를 바꾸기 위하여 필요한 시간을 포함한다.
청구항 12에 관한 암호화된 블록 데이터 전송시의 전력절감시스템은, 소정의 수식은,
NUMclock_cycle ≒ Cperformance ×
Figure 112008040854261-pat00002
+ ∑TISR + △
(여기서, NUMclock_cycle : 해당블록 암호화하는데 소모하는 클럭 사이클의 수,
Cperformance: 필요한 클럭사이클의 비율,
∑TISR : ISR이 소모하는 클럭 사이클의 수의 합,
△: 그 외에 발생할 수 있는 소모 클럭 사이클의 합)
이다.
상기한 바와 같이, 본 발명에 따른 암호화된 블록데이터 전송시의 전력절감방법 및 시스템에 의하면, 데이터 암호화를 수행할 때 데이터가 블록 단위로 수행된다는 점을 이용하여 암호화 작업에 의한 전송 대상 데이터의 생성 작업량 및 소요시간을 예측하여 암호화 과정 수행시의 프로세서 동작 주파수와 인가 전압을 조정하고, 이에 따른 암호화 과정의 속도를 조정하여 네트워크 전송 속도에 적응시킴 으로써 같은 일을 하면서 보다 적은 전력을 소모하도록 할 수 있다.
따라서, 본 발명이 적용될 수 있는 개인 모바일 디지털 기기 등에서의 배터리 수명을 보다 연장시킬 수 있다.
이상과 같은 본 발명에 대한 해결하고자 하는 과제, 과제 해결 수단, 효과 외의 구체적인 사항들은 다음에 기재할 실시예 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
  
이하, 상기와 같이 암호화된 블록데이터 전송시의 전력절감방법 및 시스템에 대하여 도면을 참조하여 상세하게 설명하기로 한다. 다만, 첨부된 도면은 본 발명의 내용을 보다 쉽게 개시하기 위하여 설명되는 것일 뿐, 본 발명의 범위가 첨부된 도면의 범위로 한정되는 것이 아님은 이 기술분야의 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.
도 1은 본 발명에 따른 암호화된 블록데이터 전송시의 전력절감시스템의 구조를 나타내는 블럭도이다.
도 1에 나타난 바와 같이, 본 발명에 따른 암호화된 블록데이터 전송시의 전력절감 시스템은, 암호화 기능을 수행하는 프로세서 또는 암호화 전용 프로세서(130), 암호화를 수행한 뒤 네트워크 인터페이스(140)를 통해서 전송되는 데이터 가 저장되어 있는 저장장치(120), 기 데이터가 생성되는 카메라 또는 마이크와 같은 데이터 생성 장치(110), 프로세서(130)의 동작을 위한 클럭 생성기 및 전원 공급 모듈(160), 암호화된 데이터를 전송하는 각종 네트워크 인터페이스(140)로 구성되어 있다.
프로세서(130)는 디지털 기기 구성에 있어 모든 연산과 더불어 네트워크를 통해서 전송되어야 하는 데이터에 대해 암호화를 수행한다. 이때, 프로세서(130)는 일반적인 다른 기능을 모두 포함하여 수행하거나 암호화 기능을 전문적으로 수행하는 프로세서를 포함한다. 또한, 이 프로세서(130)에서는 결정 로직(decision logic, 170)에서 전달되는 다음 블록 데이터의 암호화 과정의 예상 데드라인(deadline)까지의 시간을 전달받고, 이를 이용하여 해당 데드라인(deadline)까지 다음 대상 블록 데이터의 암호화를 가장 낮은 전압에서 끝마칠 수 있도록 클럭 주파수 등의 성능 제약 조건과 공급 전압을 조정한다.
네트워크 인터페이스(140)는 일반적으로 널리 사용되는 무선 랜, 블루투스, 그리고 지그비 등의 무선 데이터 송/수신 모듈로서, 사용자의 요구 또는 AP 혹은 동글의 존재 유무와 같은 주변 상황에 따라 사용되는 인터페이스가 동적으로 변경될 수 있고, 전송 속도 또한 동적으로 변화한다. 이 인터페이스(140)는 물리적으로 에러율 또는 전송속도 등의 정보를 결정로직(decision logic, 170)으로 전달할 수 있다. 또한, 이는 무선 인터페이스뿐만 아니라 유선 통신 인터페이스에도 동일하게 적용될 수 있다.
한편, 본 발명에서는 인가 전압에 의해서 공급 가능한 클럭 주파수의 범위가 결정되므로, 클럭 생성기(160)와 전력 관리 모듈(160)은 하나로 통합되어 구성된다. 따라서, 클럭 생성기(160)와 전력 관리 모듈(160)을 동일한 도면번호로 칭하여 아래와 같이 설명하기로 한다.
클럭 생성기(160)는 프로세서(130)를 구동하는데 필요한 클럭 신호를 프로세서(13)에 인가한다. 이 때, 주어지는 클럭 주파수의 변화는 클럭 생성기(160) 자체에서 프로세서(130)의 명령을 받아 변경되거나, 프로세서(130) 내부에서 수신되는 클럭 신호를 원하는 주파수로 변환하여 사용하는 것을 포함한다.
전력 관리 모듈(160)은 결정로직(Decision Logic, 170)에 의해 산출된 시간 안에 다음 데이터 블록에 대한 암호화를 마칠 수 있도록, 조정된 클럭 주파수 등의 성능 제약 조건 하에서 공급 전압을 최대한 낮추는 역할을 수행한다. 이때, 이 전력 관리 모듈(160)은 프로세서 또는 암호화 모듈의 외부에 별도의 모듈로 존재하여 프로세서의 명령에 의해 동작하거나 프로세서 내부에 포함되어 자체적으로 조절되는 경우를 모두 포함한다.
저장장치(120)는 이미 소유하고 있는 데이터를 네트워크 인터페이스(140)를 통해서 전송할 때 이것이 저장되어 있는 것을 의미하며, 이 때 네트워크에 보내지기 위해서 암호화 과정에 들어가는 데이터들은 프로세서(130)가 최소의 지연 시간을 가지고 접근할 수 있도록 적절한 양의 데이터가 미리 메모리에 올려지게 되는 것을 포함한다.
데이터 생성기(110)는 마이크로폰 또는 휴대용 카메라와 같이 실시간으로 생성되는 영상, 음성 등의 정보가 암호화된 후 네트워크를 통해서 전송되는 경우에 이들 정보를 생산하는 장치를 의미하며 이는 마이크로폰이나 카메라 외에도 디스크, 플래시메모리와 같은 저장장치 등 데이터의 원천이 되는 다양한 장치를 포함한다.
결정로직(Decision Logic, 170)은 하나의 암호화된 데이터 블록의 전송 시간을 측정하여 전송을 기다리는 암호화된 데이터의 양이 지정된 임계값보다 내려갈 것으로 예상되는 시간을 계산하고, 이를 프로세서(130) 또는 전력 관리 모듈(160)에 전달함으로써 다음 암호화 대상 데이터의 암호화에 걸리는 시간과 인가 전압, 인가 클럭 주파수 등을 조절할 수 있도록 하는 것을 포함한다. 이때, 결정로직(170)은 하드웨어상으로 구축되는 경우와 소프트웨어 프로그램으로 구동되는 것을 포함한다.
결정로직(170)에서는 도 2와 같은 과정을 거쳐 채널 상황과 그에 맞는 다음 데이터의 암호화에서의 데드라인(deadline)을 계산하고 이를 프로세서 또는 전력 관리모듈에 통보하는바, 이에 관하여는 도 2에서 상세하게 설명하기로 한다.
이하, 상기와 같이 구성된 암호화된 블록데이터 전송시의 전력절감시스템을 이용한 전력절감방법을 도면을 참조하여 상세하게 설명하기로 한다.
도 2는 도 1과 같이 구성된 시스템을 이용하여 암호화된 블록데이터 전송시의 전력절감방법을 나타내는 순서도이며, 도 3은 본 발명의 일 실시예에 따른 암호화된 블록데이터 전송시의 전력절감방법중 인가 전압 및 주파수를 결정하는 방법을 설명하기 위한 도면이고, 도 4는 도 3과 같은 방식으로 인가 전압 및 주파수를 결 정하는 결정로직의 입/출력 정보들을 설명하기 위한 도면이며, 도 5는 도 3과 같은 방식으로 암호화 블록 데이터당 임계생성시간의 설정방법을 설명하기 위한 도면이고, 도 6은 도 3과 같은 방식으로 네트워크 인터페이스를 통하여 전송된 각 블록 데이터의 전송시간과 블록 데이터 사이의 유휴시간을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, 암호화된 블록데이터 전송시의 전력절감방법은, 입력 블록데이터를 지정된 전압 및 주파수로 동작하는 프로세서를 이용하여 암호화하는 단계(S210), 암호화된 블록데이터를 네트워크 버퍼로 이동시키는 단계(S220), 이동된 암호화된 블록데이터중 가장 최근에 전송된 N개 블록데이터의 전송에 걸린 시간을 측정하는 단계(S230), 측정된 시간을 결정로직에 통보해주는 단계(S240), 측정된 시간(deadline)안에 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하는 단계(S250), 결정된 인가 전압 및 주파수와 프로세서에 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 이를 프로세서에 전송하여주는 단계(S260)를 포함하여 구성된다.
이에 관하여 상세히 설명하자면, 초기화 과정을 거친 결정로직은 입력되는 암호화 대상 데이터를 지정된 인가 전압 및 클럭 주파수가 인가되는 프로세서로 하여금 암호화(S210)하여 결과물을 네트워크 버퍼로 이동(S220)시켜 전송되도록 한다. 이때, 지속적으로 네트워크 버퍼에서 목적지로 전송되는 데이터 블록들 중 네트워크 버퍼에 입력되는 암호화된 데이터의 크기와 동일한 크기의 N개 블록 데이터 가 전송되는 데 걸리는 시간을 측정하고, 이값을 N으로 나눈 평균값을 측정(S230)하여 결정로직으로 피드백을 주면(S240), 결정로직에서는 이를 다음 데이터를 암호화하는 데 걸리는 시간의 임계값으로 간주하고, 이에 맞춘 새로운 인가 전압 및 인가 클럭 주파수를 결정한다(S250). 이때, 결정된 인가 전압 및 주파수와 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 프로세서에 전송하여준다(S260). 즉, 결정된 인가 전압 및 주파수와 프로세서의 지정된 전압 및 주파수를 비교하여 변경할 필요가 있는지의 여부를 판단하고, 변경할 필요가 있는 경우에는 이를 프로세서에 통보하여 변경하도록 하고, 변경할 필요가 없는 경우에는 그대로 진행하면서 데이터를 암호화하고 전송하는 과정을 반복한다.
도 3에 나타난 바와 같이, 암호화된 블록데이터 전송시의 전력절감방법중 인가 전압 및 주파수를 결정하는 방법은, 정해진 양의 일을 할 때 높은 주파수의 클럭과 높은 전압을 인가하여 작업을 수행하고, 남은 시간을 아이들(idle)상태로 있는 것보다 적정 데드라인(deadline)에 맞추어 클럭의 주파수와 전압을 변화시키게 된다. 이렇게 되면, 동작 주파수(Operating Frequency)가 낮아지게 되고, 이에 따라 물리적으로 요구되는 인가 전압(supply voltage)도 낮아지게 되는 특성을 이용하여 같은 일을 보다 낮은 전력으로 수행하는 것이 소모에너지를 감소시킬 수 있다.
이를 상세하게 설명하자면, 항상 높은 클럭 속도와 높은 인가전압을 이용하여 빠르게 주어진 암호화 작업을 처리하고 나서(310,340), 가지게 되는 유휴 시 간(320,350)을 대상 작업의 양과 클럭 주파수의 변화에 따른 수행 시간의 예측에 기반하여 작업의 속도를 조절하여 줄여주게 됨으로써(330,360), 디지털 기기에서 소모되는 전력량을 감소시켜 사용 배터리의 수명을 연장시킬 수 있고, 디지털 기기의 활용도를 높임과 동시에 배터리 충전의 주기를 늘여 사용자 편의성을 증대될 수 있는 것이다.
도 4는 도 3과 같은 방식으로 인가 전압 및 주파수를 결정하는 결정로직의 입/출력 정보들을 설명하기 위한 도면으로서, 도 4에 나타난 바와 같이, 블록 암호화의 단위를 이루고 있는 한 입력 블록 데이터의 양과 출력 데이터의 양, 그에 사용되는 암호화 알고리즘의 명령(instruction)의 종류와 각각의 사용 개수 및 각 명령의 소모 클럭 주파수의 수, 프로세서에서 지원하는 인가 전압의 종류와 각각의 전압 레벨에서 지원하는 클럭 주파수의 범위, 그리고 프로세서가 전압 또는 주파수를 바꾸기 위해 걸리는 시간 등을 결정 로직에 입력하게 된다. 또한, 데드라인을 구하기 위해 최근에 암호화되어 전송된 데이터 블록 N개의 총 전송시간을 입력한다. 그리고, 이들 입력에 의한 결과물로서, 다음 블록의 생성 임계 시간(deadline), 결정된 인가 전압 및 인가 클럭 주파수가 생성된다.
여기서, 이들 정보를 이용한 실제 인가 전압과 클럭 주파수의 결정은 다음 수식들에 의해 결정된다.
일반적으로, 암호 처리 장치는 데이터 입력, 암호 처리, 그리고 데이터 출력을 담당하는 부분으로 구성된다. 즉 데이터 입력부로부터 고정된 길이의 평문이 입 력되면 암호 처리 알고리즘의 실행 과정에서 생성된 중간 데이터를 순차적으로 기억부에 저장하고, 이 중간 데이터를 얻어 미리 정해진 일정한 처리순서에 따라서 암호화 처리를 실행한 후, 암호 처리부에서의 일련의 암호 처리 알고리즘의 수행이 종료되면 고정된 길이의 암호문이 출력된다. 따라서, 암호화 처리에서 메모리로 대표되는 기억부로의 접근 시간이 항상 일정하다고 가정할 경우, 평문의 입력으로부터 암호화 처리를 실행한 후의 암호문 출력까지의 소요 시간은 암호화가 블록 단위로 이루어진다는 특징에 의해서 높은 정확도로 일정하게 유지된다. (이때, 생성되는 오차는 무시할 만한 수준이다)
그러므로, 데이터 암호화에 소요되는 시간은 소요 클럭 사이클의 수로 계산할 수 있다. 이는 다음과 같이 유도된다.
하나의 암호화 알고리즘을 선택하여 데이터를 암호화하는 경우에 있어서, 대개의 경우 지정된 일정 크기의 데이터를 지정된 라운드 수만큼 반복하는 암호화 알고리즘을 수행하여 동일한 크기의 암호문을 출력하기 때문에, 지정된 크기만큼의 데이터를 암호화(encryption)하기 위해서 사용되는 기계 명령(machine instruction)의 종류와 각각의 수는 암호화의 대상이 되는 데이터에 독립적이다. 따라서, 프로세서가 암호화 알고리즘을 수행하는 데 할당하는 CPU 시간의 양은 각 암호화 대상 블록의 암호화에 사용되는 명령의 종류와 각각의 개수가 거의 동일하다고 간주할 수 있다. 각 명령에 소모되는 클럭 사이클의 숫자가 일정하기 때문에, 각 명령의 수행 클럭 사이클을 토대로 한 개의 블록을 암호화하기 위한 클럭 사이클을 산출해낼 수 있으며, 이것으로 암호화에 걸리는 시간을 거의 정확하게 예측할 수 있다. 따라서, 해당 암호화 프로세스가 해당 블록을 암호화하는데 소모하는 클럭 사이클의 수는 다음과 같은 식(1)로 근사화할 수 있다.
<식 (1)>
NUMclock _ cycle ≒ Cperformance ×
Figure 112008040854261-pat00003
+ ∑TISR + △
위 수식에서 각 명령 수행에 필요한 클럭(clock) 수를 산정할 때, 메모리 접근을 필요로 하는 명령(instruction)의 경우에는 메모리에서 데이터를 읽어들이는 데 소모되는 클럭 사이클의 수를 포함한다.
또한, 위 수식에서 Cperformance는 하나의 블록데이터(block data)를 암호화하기 위해서 사용되는 명령들이, 하나의 CPU 코어(CPU core), 노 캐시 미스(no cache miss), 노 파이프 라인(no pipeline) 시스템을 기준으로 산정한 소모 클럭 사이클이 실제로 실행되는 프로세서(520)의 CPU core 개수, 각 CPU 코어(CPU core)의 파이프라인 스테이지(pipeline stage)의 수, 평균적인 캐시 히트 비율(cache hit ratio), 캐시 미스 패널티(cache miss penalty)에 의해 하드웨어 디바이스 별로 측정되는 실험적인 배율로써, 기준 값에 비해서 실제로 얼마만큼의 클럭 사이클이 더 필요한지에 대한 비율을 의미한다. 이는 또한 어떠한 알고리즘을 선택하였는가에 의해서도 변경되므로, 이 변수는 해당 디바이스에서 각 알고리즘을 사용하였을 때 의 값을 사전 프로파일링에 의해 산출하여 사용한다.
∑TISR은 프로세서가 암호화를 통해서 생성되는 데이터를 암호화하여 전송하는 작업을 수행하는 도중에 있어서 발생하는 인터럽트(Interrupt)를 처리하기 위해서 ISR(interrupt service routine)이 도중에 소모하는 클럭 사이클의 수의 합을 의미한다. ISR이 소모한 시간만큼 암호화에 걸리는 총 수행시간이 증가하기 때문에, 이를 더한다. 이값은 사전 프로파일링에 의해서 산출하거나 동적으로 구할 수 있다. 동적으로 구하는 경우에는 이전 블록을 암호화했을 때 실제로 측정한 ∑TISR을 다음 블록의 암호화 시간을 추정하는 데 사용한다.
△는 이외에 발생할 수 있는 소모 클럭 사이클의 합이다. 여기에는 프로세서가 수행하는 다른 프로세스 (e.g. image capturing, codec, etc.)들과의 컨텍스트 스위칭에 필요한 클럭 싸이클(clock cycle), 관리자 직접 설정값 등이 포함된다.
도 5는 도 3과 같은 방식으로 암호화 블록 데이터당 임계생성시간의 설정방법을 설명하기 위한 도면으로서, 도 5에 나타난 바와 같이, 네트워크 버퍼에서 전송되기를 기다리고 있는 암호화된 데이터의 양이 적정 수준으로 유지되기 위해서, 다음으로 암호화된 데이터를 생성해야 하는 암호화 블록당 임계 생성 시간(Tdeadline)은 사용되는 네트워크 인터페이스의 종류, 블록 전송 시간의 변화 추이에 의해 결정된다. 실제 전송시에 결정되는 임계 생성 시간은, 가장 최근에 전송된 N개만큼의 암호화된 데이터 블록(550)이 전송되는 데 걸린 시간(580)을 첫 번째 블록의 전송 이 시작되는 시각부터 N번째 블록의 전송이 끝나는 시각까지의 시간차를 측정하여, 이의 평균값으로 평균 전송 속도를 계산한다. 이때, 측정된 시간은 운영체제의 스케줄러에 의해 네트워크 전송 쓰레드(thread)에 할당되는 시간이 전송 속도에 미치는 영향을 포함하게 된다. 이것은 다음 식 (2)으로 나타낼 수 있다.
<식 (2)>
N개 블록이 전송되는 데 걸리는 시간 Tdeadline = ∑각 블록의 전송시간 + ∑블록 사이의 유휴시간
도 6은 도 3과 같은 방식으로 네트워크 인터페이스를 통하여 전송된 각 블록 데이터의 전송시간과 블록 데이터 사이의 유휴시간을 설명하기 위한 도면이다.
도 6에 나타난 바와 같이, 네트워크 인터페이스(610)를 통해 전송된 각 블록의 전송시간(620)과 블록 사이의 유휴시간(630)이 표현되어 있다. 그리고, 측정된 평균 전송 속도에 의해 다음 블록이 전송되는 데 소요될 시간을 계산하여 다음 블록의 암호화에 대한 임계 생성 시간으로 설정하도록 피드백(feedback, 560)을 준다.
블록 전송 시간은 전송을 기다리는 데이터들이 저장되어있는 네트워크 버퍼(540)에 들어있는 데이터 중 암호화의 결과로 생성되는 블록과 동일한 크기의 데이터가 전송되는 데 걸리는 시간 간격을 의미한다. 따라서, 네트워크 인터페이스의 초기화 과정에서 전송할 암호화된 데이터를 일정량 쌓은 뒤에 시작하도록 하면, 버 퍼에서의 데이터의 체류 시간을 고려하지 않고서도 데이터의 전송 속도에 맞추어 전송될 데이터를 생성하여 네트워크 버퍼에 추가하기 때문에 네트워크 버퍼의 사용량(570)을 일정하게 유지할 수 있다. 또한, 전송되는 데이터만큼의 양을 전송에 소요된 시간 이내에 생성하여 네트워크 버퍼에 넣음으로써, 일정한 버퍼 사용량을 유지할 수 있기 때문에 해당 블록 전송 시간을 다음 데이터 블록의 암호화에 대한 임계 시간으로 설정할 수 있다.
위의 두 가지 방법을 이용하면 전송을 위해서 암호화해야 하는 다음 블록의 생성을 위해서 필요한 클럭 사이클 수와 이것이 반드시 끝나야 하는 임계 시각을 구할 수 있다. 따라서, 이 두 가지 수치와 함께 프로세서가 지원하는 인가 전압의 종류와 인가 주파수의 범위를 사용하여 위의 요구사항을 만족시킴과 동시에 가장 에너지를 절약할 수 있는 파라미터들을 선택한다. 이 파라미터들은 구체적으로 다음과 같이 결정된다.
일반적으로 프로세서의 소모 에너지는 다음 식 (3)에 의해서 결정된다.
<식 (3)>
E = C × V2 × f × t
(여기서, P: 전력(Power),
C: 클럭 싸이클당 스위칭되는 전기용량(Capacitance being switched per clock cycle),
V: 인가 전압(supply voltage),
f: 프로세서 주파수(processor frequency),
t: 동작 시간(operation time))
위 수식에서 t는 데드라인 시간(deadline time)으로서, 이전에 기술한 수식에 의해서 결정되고, C또한 프로세서의 특성에 의해 결정되는 고정 수치이다. 따라서, 위 수식에서 주지되는 바와 같이 프로세서에 인가되는 클럭 주파수 f와 프로세서에 인가되는 전압의 크기 V가 소모전력에 영향을 준다. 하지만, 클럭 주파수를 지정하는 경우에 지정된 클럭 주파수를 지원하는 복수의 인가 전압 레벨이 존재하기 때문에 두 가지를 모두 고려해서 클럭 주파수와 인가 전압 레벨을 결정한다.
임의 블록에 대한 암호화 작업을 끝마쳐야 하는 임계 시간 내에 암호화 작업을 마치기 위해서 필요한 클럭 주파수 f는 다음의 식 (4)와 같이 계산된다.
<식 (4)>
블록 암호화에 걸리는 시간 + Tchange ≤ Tdeadline
(여기서, Tdeadline: 다음으로 전송될 block의 전송이 완료될 것이라고 예측되는 시간,
Tchange: 전압/클럭 주파수를 변경하는데 걸리는 시간)
블록 암호화에 걸리는 시간을
Figure 112008040854261-pat00004
으로 나타낼 수 있기 때문에, 이를 위의 수식에 대입하면 f는 다음의 식 (5)와 같이 계산된다.
<식 (5)>
Figure 112008040854261-pat00005
이것을 만족하는 최소 주파수수치를 산출한다.
다음 단계로는, 이 주파수 영역을 지원하는 프로세서 인가 전압의 종류들을 해당 프로세서 모듈의 데이터시트를 이용하여 구하고 그들 사이에서 정해진 시간 안에 에너지가 가장 작게 소모되는 것을 표현하는 다음 식 (6)에 의해 필요한 인가 전압 레벨을 결정한다.
<식 (6)>
(V, f) = MIN (V2 × f)
(여기서, V : 지원하는 인가 전압 레벨들,
f: 각 인가 전압 레벨에서 지원하는 주파수영역 중 위 수식에서 구해진 최소 주파수보다 큰 값을 갖는 주파수)
  
상기와 같이, 본 발명은 네트워크 인터페이스를 통하여 전송되는 각종 데이터들을 블록 암호화하여 전송할 때, 네트워크의 전송 속도에 맞추어 전송될 암호화 된 데이터 생성의 데드라인을 클럭 사이클 수준에서 예측하고 그에 준하여 프로세서에 사용되는 전압과 동작 클럭 속도를 조정함으로써 장치의 전력 소모를 줄일 수 있게 된다
또한, 이때 데이터가 바로 전송되지 않고 버퍼에서 대기함으로써 발생하는 유휴시간에 의해 낭비되는 에너지를 줄일 수 있게 된다.
이상에서 보는 바와 같이, 본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명에 따른 암호화된 블록데이터 전송시의 전력절감시스템의 구조를 나타내는 블럭도.
도 2는 도 1과 같이 구성된 시스템을 이용하여 암호화된 블록데이터 전송시의 전력절감방법을 나타내는 순서도.
도 3은 본 발명의 일 실시예에 따른 암호화된 블록데이터 전송시의 전력절감방법중 인가 전압 및 주파수를 결정하는 방법을 설명하기 위한 도면.
도 4는 도 3과 같은 방식으로 인가 전압 및 주파수를 결정하는 결정로직의 입/출력 정보들을 설명하기 위한 도면.
도 5는 도 3과 같은 방식으로 암호화 블록 데이터당 임계생성시간의 설정방법을 설명하기 위한 도면.
도 6은 도 3과 같은 방식으로 네트워크 인터페이스를 통하여 전송된 각 블록 데이터의 전송시간과 블록 데이터 사이의 유휴시간을 설명하기 위한 도면.

Claims (12)

  1. (a)입력 블록 데이터를 지정된 전압 및 주파수로 동작하는 프로세서를 이용하여 암호화하는 단계;
    (b)상기 암호화된 블록 데이터를 전송하기 위하여 네트워크 버퍼로 이동시키는 단계;
    (c)상기 이동된 암호화된 블록 데이터중 가장 최근에 이동된 N개의 암호화된 블록 데이터의 크기와 동일한 크기의 블록 데이터가 전송되는 데 소요되는 시간을 측정하는 단계;
    (d)상기 측정된 시간과 기계적 명령데이터를 결정 로직으로 전송하는 단계;
    (e)상기 전송된 시간을 다음에 입력되는 블록 데이터의 암호화에 대한 임계 생성시간(Tdeadline)으로 간주하고, 상기 기계적 명령데이터를 소정의 수식에 의하여 연산하여 상기 다음에 입력되는 블록 데이터의 암호화에 소모되는 클럭 사이클의 수를 산출하는 단계;
    (f)상기 임계 생성시간 및 상기 클럭 사이클의 수를 이용하여 상기 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하는 단계; 및
    (g)상기 결정된 인가 전압 및 주파수와 상기 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 클럭 생성기를 통하여 상기 프 로세서에 전송하는 단계를 포함한,
    암호화된 블록 데이터 전송시의 전력절감방법.
  2. 제1항에 있어서,
    (h)상기 전송된 전압 및 주파수를 이용하여 다음에 입력되는 블록 데이터를 암호화하여 전송하는 단계를 더 포함한, 암호화된 블록 데이터 전송시의 전력절감방법.
  3. 제1항에 있어서,
    상기 임계 생성시간(Tdeadline)은,
    Tdeadline = ∑각 블록 데이터의 전송시간 + ∑블록 데이터 사이의 유휴시간
    인 암호화된 블록 데이터 전송시의 전력절감방법.
  4. 제1항에 있어서,
    상기 기계적 명령 데이터는 입력 블록 데이터의 양, 출력 데이터의 양, 암호화에 필요한 명령의 종류와 사용 개수 및 각 명령의 소모 클럭 주파수의 수, 상기 프로세서에 지정된 전압 또는 주파수의 범위, 상기 프로세서가 전압 또는 주파수를 바꾸기 위하여 필요한 시간을 포함한, 암호화된 블록 데이터 전송시의 전력절감방법.
  5. 제1항에 있어서,
    상기 소정의 수식은,
    NUMclock_cycle ≒ Cperformance ×
    Figure 112008040854261-pat00006
    + ∑TISR + △
    (여기서, NUMclock_cycle : 해당블록 암호화하는데 소모하는 클럭 사이클의 수,
    Cperformance: 필요한 클럭사이클의 비율,
    ∑TISR : ISR이 소모하는 클럭 사이클의 수의 합,
    △: 그 외에 발생할 수 있는 소모 클럭 사이클의 합)
    인 암호화된 블록 데이터 전송시의 전력절감방법.
  6. 제1항 내지 제5항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체
  7. 실시간으로 다양한 데이터를 생성하여 전송하는 데이터 생성기;
    상기 데이터 생성기로부터 전송된 다양한 데이터에 대하여 암호화를 수행하는 프로세서;
    상기 프로세서로부터 암호화가 수행된 데이터를 전송받고 이를 저장하는 저 장부;
    상기 프로세서를 구동시키기 위하여 클럭신호를 인가하는 클럭 생성기; 및
    상기 프로세서와 네트워크 인터페이스로 연결되고, 상기 프로세서로부터 암호화된 블록 데이터중 가장 최근에 이동된 N개의 암호화된 블록 데이터의 크기와 동일한 크기의 블록 데이터가 전송되는 데 소요되는 시간이 상기 최근에 이동된 N개의 암호화된 블록 데이터의 전송시간의 평균으로 산출되어 기계적 명령데이터와 함께 입력되며, 다음에 입력되는 블록 데이터의 임계생성시간과 그를 암호화하는데 소모되는 전압 및 주파수를 결정하여 상기 클럭 생성기에 전송하여주는 결정로직을 포함하는 암호화된 블록 데이터 전송시의 전력절감 시스템.
  8. 제7항에 있어서,
    상기 결정로직은 상기 기계적 명령데이터를 소정의 수식에 의하여 연산하여 상기 다음에 입력되는 블록 데이터의 암호화에 소모되는 클럭 사이클의 수를 산출하고, 상기 다음에 입력되는 블록 데이터의 암호화 동작을 끝낼 수 있는 주파수의 범위와 그 중에서 가장 낮은 인가 전압을 결정하며, 상기 결정된 인가 전압 및 주파수와 상기 프로세서의 지정된 전압 및 주파수를 비교하여 작은 전압 및 주파수를 결정한 후 상기 클럭 생성기에 전송하는 암호화된 블록 데이터 전송시의 전력절감 시스템.
  9. 제7항에 있어서,
    상기 클럭 생성기는 상기 임계생성시간내에 다음의 입력 블록 데이터에 대한 암호화를 수행하기 위하여 인가 전압 및 주파수를 낮추는 암호화된 블록 데이터 전송시의 전력절감 시스템.
  10. 제7항에 있어서,
    상기 임계 생성시간(Tdeadline)은,
    Tdeadline = ∑각 블록 데이터의 전송시간 + ∑블록 데이터 사이의 유휴시간
    인 암호화된 블록 데이터 전송시의 전력절감 시스템.
  11. 제7항에 있어서,
    상기 기계적 명령 데이터는 입력 블록 데이터의 양, 출력 데이터의 양, 암호화에 필요한 명령의 종류와 사용 개수 및 각 명령의 소모 클럭 주파수의 수, 상기 프로세서에 지정된 전압 또는 주파수의 범위, 상기 프로세서가 전압 또는 주파수를 바꾸기 위하여 필요한 시간을 포함한, 암호화된 블록 데이터 전송시의 전력절감 시스템.
  12. 제8항에 있어서,
    상기 소정의 수식은,
    NUMclock_cycle ≒ Cperformance ×
    Figure 112008040854261-pat00007
    + ∑TISR + △
    (여기서, NUMclock_cycle : 해당블록 암호화하는데 소모하는 클럭 사이클의 수,
    Cperformance: 필요한 클럭사이클의 비율,
    ∑TISR : ISR이 소모하는 클럭 사이클의 수의 합,
    △: 그 외에 발생할 수 있는 소모 클럭 사이클의 합)
    인 암호화된 블록 데이터 전송시의 전력절감 시스템.
KR1020080053557A 2008-06-09 2008-06-09 암호화된 블록데이터 전송시의 전력절감방법 및 시스템 KR100951564B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080053557A KR100951564B1 (ko) 2008-06-09 2008-06-09 암호화된 블록데이터 전송시의 전력절감방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080053557A KR100951564B1 (ko) 2008-06-09 2008-06-09 암호화된 블록데이터 전송시의 전력절감방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090127527A KR20090127527A (ko) 2009-12-14
KR100951564B1 true KR100951564B1 (ko) 2010-04-09

Family

ID=41688189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080053557A KR100951564B1 (ko) 2008-06-09 2008-06-09 암호화된 블록데이터 전송시의 전력절감방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100951564B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102385342B1 (ko) * 2020-12-24 2022-04-08 정한영 시간 동기화 암호체계

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865653B2 (en) 2001-12-18 2005-03-08 Intel Corporation System and method for dynamic power management using data buffer levels
KR20070046198A (ko) * 2004-08-31 2007-05-02 콸콤 인코포레이티드 프로세서 부하에 기반한 동적 클록 주파수 조정
US20080098254A1 (en) 2006-10-24 2008-04-24 Peter Altevogt Method for Autonomous Dynamic Voltage and Frequency Scaling of Microprocessors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865653B2 (en) 2001-12-18 2005-03-08 Intel Corporation System and method for dynamic power management using data buffer levels
KR20070046198A (ko) * 2004-08-31 2007-05-02 콸콤 인코포레이티드 프로세서 부하에 기반한 동적 클록 주파수 조정
US20080098254A1 (en) 2006-10-24 2008-04-24 Peter Altevogt Method for Autonomous Dynamic Voltage and Frequency Scaling of Microprocessors

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(2007. )

Also Published As

Publication number Publication date
KR20090127527A (ko) 2009-12-14

Similar Documents

Publication Publication Date Title
US11231966B2 (en) Closed loop performance controller work interval instance propagation
Simunic et al. Dynamic voltage scaling and power management for portable systems
US9615333B2 (en) Adaptive battery life extension
KR101700567B1 (ko) 와트당 최적 성능을 위한 지능형 멀티코어 제어
US10339023B2 (en) Cache-aware adaptive thread scheduling and migration
TWI260543B (en) Performance scheduling method and system, and computer readable medium
Mejia-Alvarez et al. Adaptive scheduling server for power-aware real-time tasks
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
KR101529016B1 (ko) 멀티-코어 시스템 에너지 소비 최적화
TW201727427A (zh) 用於在電腦處理器中基於程式階段動態時脈及電壓縮放之方法及裝置
KR20170021338A (ko) 데이터 처리 시스템을 위한 전력 인식 작업 스케쥴러 및 관리자
JP2001229040A (ja) 分散型処理システムのためのインテリジェント電力管理方法および装置
US8341437B2 (en) Managing power consumption and performance in a data storage system
JP2008165798A (ja) データ処理装置におけるプロセッサの性能管理
US20140281608A1 (en) Battery Usage Throttling for Mobile Devices
US20220393960A1 (en) Technologies for performance monitoring and management with empty polling
JP2013543698A (ja) モバイルデバイスにおける作業負荷予測子の有効性を測定するためのシステムおよび方法
Zhang et al. Mobile cloud computing with voltage scaling and data compression
JP2009049887A (ja) パケット処理装置、方法、およびプログラム
KR100951564B1 (ko) 암호화된 블록데이터 전송시의 전력절감방법 및 시스템
Albers Algorithms for energy saving
Bandari et al. Energy management of embedded wireless systems through voltage and modulation scaling under probabilistic workloads
US11399344B2 (en) System and method for SoC idle power state control based on I/O operation characterization
Yassin et al. Dynamic hardware management of the H264/AVC encoder control structure using a framework for system scenarios
CN107707668B (zh) 一种lte蜂窝网络中基于数据预取的尾能耗优化方法

Legal Events

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

Payment date: 20130304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee