KR101036760B1 - 계층형 아키텍처를 포함하는 이동 단말기 - Google Patents

계층형 아키텍처를 포함하는 이동 단말기 Download PDF

Info

Publication number
KR101036760B1
KR101036760B1 KR1020047011959A KR20047011959A KR101036760B1 KR 101036760 B1 KR101036760 B1 KR 101036760B1 KR 1020047011959 A KR1020047011959 A KR 1020047011959A KR 20047011959 A KR20047011959 A KR 20047011959A KR 101036760 B1 KR101036760 B1 KR 101036760B1
Authority
KR
South Korea
Prior art keywords
software
layer
interface
backplane
service
Prior art date
Application number
KR1020047011959A
Other languages
English (en)
Other versions
KR20040103925A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27739378&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101036760(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20040103925A publication Critical patent/KR20040103925A/ko
Application granted granted Critical
Publication of KR101036760B1 publication Critical patent/KR101036760B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

본 발명은 무선 원격통신 시스템 및 다른 어플리케이션을 위한 이동 단말기용 소프트웨어 아키텍쳐를 특징으로 한다. 상기 소프트웨어 아키텍쳐는 보다 상위 레벨의 서비스를 제공하는 계층으로부터 보다 하위 레벨의 서비스를 제공하는 계층까지 순서대로 정렬된 복수의 계층과 한 세트의 정의된 의존성 규칙에 따라 소프트웨어 모듈간 통신을 수행하도록 하기 위한 인터페이스 수단을 포함한다.

Description

계층형 아키텍처를 포함하는 이동 단말기{Mobile Terminal Comprising Layered Architecture}
기술분야
본 발명은 무선 통신 분야에 관련된 것이다. 보다 구체적으로 본 발명은 무선 통신 시스템에 사용하는 이동 단말기용 소프트웨어 아키텍쳐에 관한 것이다.
배경기술
1980년대에 휴대전화 통신 시스템이 처음 선보인 이후로, 이러한 시스템에 사용하는 이동 단말기(이동 기지국)는 더욱더 복잡해지고 있다. 처음에, 이동 단말기는 주로 음성 전화 서비스, 즉 음성 통신의 전송 및 수신을 위해 고안되었다. 수년 뒤에, 이동 단말기는 음성 전화 신호와 관련이 없는 사용자 데이터를 전송할 수 있도록 발전되었다. 이러한 사용자 데이터는, 예를 들어, 퍼스널 컴퓨터(PC)를 시작되는 다이얼-업 네트워킹 접속을 통해 전송되는 데이터를 포함한다.
최근에, "제3 세대"(3G)라 하는 시스템은 미래의 셀룰러 원격통신 시스템으로서 개발되고 있다. 3G 시스템은 고속의 인터넷 접속을 전통적인 음성 통신과 함께 결합시킬 것이고, 사용자로 하여금 음성 통신에 부가하여 인터넷 브라우징에의 접속, 오디오/비디오 스트리밍(streaming), 포지셔닝(positioning), 화상회의 및 많은 다른 기능을 제공할 것이다.
제3 세대 파트너쉽 프로젝트(The Third Generation Partnership Project: 3GPP)는 전세계에서 개발되는 여러 3G 시스템 사이의 호환성을 결정하기 위해 설립되었다. 전세계 어디에서나 음성, 데이터 및 멀티미디어를 전파할 수 있는 지상 및 위상 시스템을 포함하는 3G 시스템을 제공하기 위한 범용 이동 통신 시스템(Universal Mobile Telephone System: UMTS)이 3GPP에 의하여 개발되고 있다.
3GPP 표준화를 통해 셀룰러 원격 통신 시스템에 포함되고 있는 급격히 증가된 기능은 상기 시스템에 사용되는 이동 단말기 개발자들에게 요구된다. 이러한 요구는 이동 단말기가 크기, 메모리, 파워에 제한 받는 "리소스 결핍" 환경이라는 점에서 취약해진다.
전통적으로, 이동 단말기 제조업자들은 그들 제조업자 또는 그들의 시장 수요의 인지를 토대로 한 특정의 사용자가 원하는 특성과 기능을 부여하는데 필요한 하드웨어와 소프트웨어뿐만 아니라 기본적인 단말기 조작에 필요한 모든 하드웨어와 소프트웨어를 포함하는 실질적으로 완전한 이동 단말기 시스템을 설계, 제조 및 판매하고 있다. 그러한 접근방식은 시장 수요의 급격한 변화에 빠르게 적응하기 위한, 또는 많은 사용자들의 다양한 요구를 만족시키기 위한 유연성을 제공하지 못하고 있다.
더욱이, 이동 단말기에 장착된 소프트웨어는 전형적으로 반출 인터페이스(exported interface)를 호출함으로써 서로 통신하는 다수의 소프트웨어 모듈로 이루어진 아키텍쳐로 구축된다. 이러한 아키텍쳐의 문제점은 서버와 클라이언트를 구 별짓는 특정한 규칙이 없다는 것이고, 이로 인하여 소프트웨어가 어떤 방식으로 이루어지는지 "시각적으로" 알 수 없다는 것이다. 그 결과, 최근의 아키텍쳐 설계에서는 같은 레벨에서 각 모듈에서의 클라이언트 및 서버 기능이 혼합되는데; 이러한 혼합으로 인해 소프트웨어의 구성, 개발 및 유지에 심각한 문제가 발생될 수 있다.
따라서, 소프트웨어가 용이하게 시각화되고 이해할 수 있는 방식으로 구축된 무선 원격통신 시스템 및 다른 어플리케이션을 위한 이동 단말기용 소프트웨어 아키텍쳐에 대한 요구가 있게 된다.
발명의 요약
본 발명은 용이하게 시각화되고 이해할 수 있는 논리적인 방식으로 구축된 무선 원격통신 시스템 및 다른 어플리케이션을 위한 이동 단말기용 소프트웨어 아키텍쳐를 제공한다.
본 발명에 따른 소프트웨어 아키텍쳐는 보다 상위 레벨의 서비스를 제공하는 소프트웨어 계층에서 보다 하위 레벨의 서비스를 제공하는 소프트웨어 계층까지 질서있게 배열된 복수의 소프트웨어 계층으로 구축된 소프트웨어로 이루어진다. 각 소프트웨어 계층은 최소한 하나의 소프트웨어 모듈을 포함한다. 상기 소프트웨어 아키텍쳐는 한 세트의 정의된 의존성 규칙에 따른 상기 복수의 소프트웨어 계층의 소프트웨어 모듈 사이의 통신을 가능하게 하는 인터페이스 수단을 더 포함한다.
본 발명은 보다 상위 레벨의 서비스를 제공하는 소프트웨어 계층에서 보다 하위 레벨의 서비스를 제공하는 소프트웨어 계층까지 질서있게 배열된 복수의 소프 트웨어 계층으로 소프트웨어를 구축함으로써, 그리고 상기 복수의 소프트웨어 계층 중에서 어느 소프트웨어 모듈이 통신하는지 의존성 규칙을 정의함으로써, 소프트웨어 아키텍쳐 내에서의 종속성을 보다 쉽게 시각화하고 이해할 수 있도록 한다. 이로 인해, 소프트웨어를 업데이트하거나 변경하는 것뿐만 아니라 소프트웨어의 구성, 개발 및 유지가 순서대로 용이해진다.
본 발명의 다른 이점 및 특정 사항은 첨부된 도면과 함께 하기에 설명되는 상세한 설명으로부터 명확해질 것이다.
도면의 간단한 설명
도 1은 본 발명을 이해하는데 도움이 되도록, 무선 원격통신 시스템을 위한 이동 단말기용 플랫폼 시스템을 개략적으로 도시한 블록도이다.
도 2는 본 발명을 이해하는데 보다 도움이 되도록, 도 1의 플랫폼 시스템의 이동 단말기 플랫폼 어셈블리에 대한 개략적인 전개도를 나타낸 블록도이다.
도 3은 본 발명의 바람직한 구체예에 따른 소프트웨어 아키텍쳐를 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 다른 바람직한 구체예에 따른 도 3의 소프트웨어 아키텍쳐의 소프트웨어 모듈이 통신할 수 있도록 하는 의존성 규칙을 나타낸 도표이다.
도 5는 본 발명의 다른 바람직한 구체예에 따른 도 1 및 도 2의 이동 단말기 플랫폼 어셈블리를 위한 소프트웨어 아키텍쳐의 특정한 구현을 설명하는 개략적인 블록도이다.
도 6은 본 발명의 바람직한 구체예에 따른 프로토콜 매핑, 구체적으로 GSM 회선 교환 데이터에 의한 블루투스를 통해 다이얼-업 네트워킹을 위한 프로토콜 매핑의 하나의 예를 개략적으로 설명하는 블록도이다.
도 7은 본 발명의 다른 바람직한 구체예에 따른 소프트웨어 아키텍쳐를 구척하는 방법의 단계를 개략적으로 나타낸 흐름도이다.
발명의 바람직한 구체예에 대한 상세한 설명
도 1은 본 발명을 설명하는데 도움이 되기 위해 무선 원격통신 시스템을 위한 이동 단말기용 플랫폼 시스템을 개략적으로 나타낸 블록도이다. 상기 플랫폼 시스템은 일반적으로 참조번호 10으로 나타내고, 이동 단말기 플랫품 어셈블리(12) 및 상기 이동 단말기 플랫폼 어셈블리에 로딩, 인스톨 및 실행되는 하나 또는 그 이상의 어플리케이션(14)(즉, 어플리케이션 소프트웨어)으로 이루어진다(본 발명에서 "로딩"이라는 용어는 인터넷에서 다운로드하거나 하드웨어 칩에 인스톨하는 것을 포함하는 인터페이스를 통해 어플리케이션 소프트웨어가 상기 이동 단말기 플랫폼 어셈블리의 소프트웨어와 결합되도록 하는 어떠한 메커니즘을 포함하도록 사용된다). 플랫폼 시스템(10)은 일반적으로 점선(16)에 의해 표시되는 이동 단말기 내에 장착되도록 적용된다.
이동 단말기 플랫폼 어셈블리(12)는 소프트웨어 서비스 요소(22), 하드웨어 요소(24) 및 인터페이스 요소(26)를 포함한다.
소프트웨어 서비스 요소(22)는 일반적으로 인터페이스 요소(26)를 통해 사용 자에게 제공되는 서비스를 제공하는 복수의 잘 구축된 기능적 소프트웨어 유닛으로 이루어진다. 도 1의 플랫폼 시스템에서, 상기 복수의 소프트웨어 유닛은 UMTS 액세스 서비스 소프트웨어 스택(30), 데이터 통신 서비스 소프트웨어 스택(32)(이하에서 더욱 상세히 설명됨), MMI(Man-Machine Interface) 서비스 소프트웨어 스택(34), 어플리케이션 플랫폼 서비스 스택(36) 및 오퍼레이션 및 서비스 소프트웨어 스택(38)을 포함하는 복수의 수직-지향의 기능적 소프트웨어 스택으로 이루어진다.
상기 하드웨어 요소(24)는 그들 각각의 기능적 소프트웨어 스택과 결합되고, 그것에 의해 작동되는 한 세트의 하드웨어 유닛으로 이루어진다. 도 1에 도시된 플랫폼 시스템에서, 상기 하드웨어 유닛은 UMTS 액세스 서비스 하드웨어(40), 데이터 통신 서비스 하드웨어(42), MMI 서비스 하드웨어(44), 어플리케이션 플랫폼 서비스 하드웨어(46) 및 오퍼레이션 및 서비스 하드웨어(48)를 포함한다.
인터페이스 요소(26)는 특정 어플리케이션의 개발을 위한 하나 또는 그 이상의 어플리케이션 인터페이스(API) 옵션을 포함하는 미들웨어 서비스 계층으로 이루어진다. 이러한 API는 표준화된(non-native) 인터페이스, 사실상 표준화된 인터페이스 및/또는 오픈 네이티브(open native) 인터페이스를 포함할 수 있다. 예를 들어, 표준화된 인터페이스는 MIDP/CLDC(Mobile Information Device Profile/Connected Limited Device Configuration) API에 따른 J2ME(JAVA 2 Micro Edition) 환경을 포함할 수 있다. 또한 상기 미들웨어 서비스 계층은 하나 또는 그 이상의 인터페이스를 통해 어셈블리(12)와 어플리케이션을 분리하는 기능을 갖고, 아래에서 설명되는 다른 서비스를 제공할 수 있다.
플랫폼 시스템(10)의 이동 단말기 플랫폼 어셈블리(12)는 상기 어플리케이션 소프트웨어(14)(본 명세서에서 사용되는 "어플리케이션 소프트웨어"라는 용어는 사용자가 이용하고자 하는 기능을 제공하는 어떠한 소프트웨어라도 될 수 있도록 사용된다)와 분리된 완전하고 폐쇄적인 유닛으로서 설계, 구현(어셈블) 및 테스트되는데 적용된다. 따라서, 사용자(본 명세서에서 사용되는 "사용자"라는 용어는 제조업자, 최종 사용자 및 다른 고객과 사용자를 포함한다)는 자신들의 어플리케이션 소프트웨어를 개발하거나 습득할 수 있고, 플랫폼 시스템(10)을 완전하게 하기 위해 나중에 그 소프트웨어를 이동 단말기 플랫폼 어셈블리(12)에 부가할 수 있다. 따라서, 이동 단말기 플랫폼 어셈블리(12)는 상기 플랫폼 시스템을 위한 특정 요구사항을 만족시키기 위해 상기 어셈블리 내의 어플리케이션 소프트웨어를 로딩, 인스톨 및 실행시킴으로써 플랫폼 시스템(10)을 완전하게 하는 복수의 다양한 사용자에게 판매되거나 전송될 수 있다.
소프트웨어 서비스 요소(22)의 소프트웨어 스택(30-38) 및 이들과 결합된 하드웨어 유닛(40-48)은 명확하게 정의된 기능과 인터페이스를 갖는 관리가능한 부분(소프트웨어 모듈 및 하드웨어 블록)으로 구축된 기능적 스택을 정의하고 있다. 이동 단말기 플랫폼 어셈블리(12)의 사용자는 상기 기능적 스택의 내부 상세에 대해 신경쓰지 않아도 되지만, 어플리케이션 소프트웨어를 설계하는데 필요한 기능을 얻기 위해 상기 미들웨어 서비스 계층(26)을 통해 상기 스택에 접근할 수는 있다.
도 2는 본 발명을 더욱 상세하게 설명하기 위해, 도 1의 이동 단말기 플랫폼 어셈블리(12)의 전개도를 개략적으로 나타낸 블록도이다. 도시된 바와 같이, 이동 단말기 플랫폼 어셈블리(12)는 메인 CPU(50)에서 실행되는 소프트웨어를 통해 제어된다. 상기 메인 CPU는 마이크로 프로세서, 마이크로 프로그래머블 프로세서 또는 DSP(Digital Signal Processor)와 같은 하나 또는 그 이상의 프로세서로 이루어질 수 있다. MMI 서비스 소프트웨어 스택(34)을 위한 DSP는 참조번호 52로 도시되어 있다. 소프트웨어 요소(22)의 소프트웨어 스택(30-38)은 각각의 스택과 결합되는 하드웨어 유닛을 작동하기 위한 하드웨어 드라이버 소프트웨어(60-68)를 각각 포함한다. 도 2에 도시된 바와 같이, 기능적 소프트웨어 스택에 의해 제어되는 하드웨어 유닛의 예는 리시버, 트랜스미터, 전력 및 주파수 콘트롤러, GSM 트랜시버, 블루투스 모듈, 다양한 통신 및 맨머신 주변장치, 전력관리 및 SIM 인터페이스, 메모리 및 보안 하드웨어를 포함한다.
플랫폼 시스템(10)의 보다 구체적인 특징과 상세는 본 명세서에서 참조할 최근에 출원된 미국특허출원(대리인 사건번호 제53807-00045USPT)에 기술되어 있다.
이동 단말기에 장착된 소프트웨어는 전형적으로 각각의 반출 인터페이스를 호출함으로써 서로 통신하는 다수의 소프트웨어 모듈로 이루어지는 아키텍쳐 내에 구축된다. 이러한 아키텍쳐의 문제점은 클라이언트를 서버로부터 분리해주는 특별한 규칙이 없고, 그로 인해 상기 소프트웨어가 어디에서 구축되는지 시각화하기가 어렵다는 것이다. 그 결과, 최근의 아키텍쳐 설계에서는 같은 레벨의 각각의 모듈 내에 클라이언트와 서버 기능이 혼합되고, 이러한 혼합으로 인해 상기 소프트웨어의 구성, 개발 및 유지에 어려움이 발생한다.
본 발명은 논리적인 방식으로 구축된 소프트웨어 아키텍쳐를 제공하고, 소프 트웨어는 쉽게 시각화되고 이해할 수 있도록 한 세트의 정의된 의존성 규칙에 따라 통신하도록 되어 있다.
도 3은 본 발명의 바람직한 구체예에 따른 소프트웨어 아키텍쳐를 개략적으로 나타낸 블록도이다. 상기 소프트웨어 아키텍쳐는 일반적으로 참조번호 100으로 표시되는데, 도 3에 도시된 바람직한 구체예에서, 소프트웨어 서비스 요소(102)의 소프트웨어와 이동 단말기 플랫폼 어셈블리의 미들웨어 서비스 계층(104)의 소프트웨어로 이루어진다. 도 3에 도시한 바와 같이, 상기 소프트웨어 서비스 요소(102)눈 도 1 및 2에 기술된 복수의 수직적, 기능적 스택(두 개의 기능적 소프트웨어 스택(106, 108)은 도 3에 도시되어 있음)으로 구성될 뿐만 아니라, 상기 미들웨어 서비스 계층(104)의 소프트웨어와 상기 소프트웨어 서비스 요소(102)의 소프트웨어가 계층 소프트웨어 아키텍쳐(100)를 함께 정의하도록 복수의 수평적인 소프트웨어 계층을 정의하도록 배열된다.
본 발명의 바람직한 구체예에 따른 상기 소프트웨어 아키텍쳐는 복수의 수직적으로 분할된 소프트웨어 계층을 보완하는 복수의 수평적으로 분할된 기능적 소프트웨어 유닛을 포함하는 점에서, 표준 ISO/OSI(Open Standard Interconnection) 모델과 다르다. 상기 수평적 분할은 독립 모듈(서비스) 요소를 만드는데 중요한 역할을 한다.
소프트웨어 아키텍쳐(100)에서, 복수의 수평적 소프트웨어 계층은 보다 상위 레벨의 소프트웨어 서비스 계층으로부터 보다 하위 레벨의 소프트웨어 서비스 계층으로 내림차순으로 정렬된다. 최상위 계층은 미들웨어 서비스 계층(104)인데, 위에 서 설명한 바와 같이, 이는 이동 단말기 플랫폼 어셈블리에 하나 또는 그 이상의 인터페이스를 제공하고, 또한 그것을 사용하는 어플리케이션으로부터 상기 플랫폼 어셈블리를 격리시킨다. 또한, 미들웨어 서비스 계층(104)은 아래 설명하는 바와 같이 다른 환경 서비스를 어플리케이션에게 제공한다.
소프트웨어 서비스 요소(102)는 어플리케이션에게 다양한 서비스를 제공하기 위해 하나 또는 그 이상의 소프트웨어 계층을 포함한다. 제공된 계층의 수는 제공될 서비스의 수에 의존하며, 그리고 소프트웨어 서비스 요소(102)는 계층의 바람직한 수를 구성할 수 있다. 도 3의 바람직한 구체예에서 계층(112, 114, 116 및 118)은 구체적으로 도시되고, 추가 계층을 포함하는 성능은 점선(120) 안에 개략적으로 도시되어 있다.
소프트웨어 서비스 요소(102)의(즉, 소프트웨어 아키텍쳐(100)의) 최하위 계층(116) 다음은 하드웨어 추상화 계층(Hardware Abstraction Layer: HAL)으로 이루어지고, 그리고 소프트웨어 서비스 요소의 최하위 계층(118)은 기본 시스템 서비스 계층(Basic System Service Layer: BSySL)으로 이루어진다. 상기 기본 시스템 서비스 계층은 상기 이동 단말기 플랫폼 어셈블리의 모든 모듈에서 필요로 하는 서비스를 포함하고, 그리고 상기 하드웨어 추상화 계층은 하드웨어 의존성을 요약한다.
소프트웨어 아키텍쳐(100)의 소프트웨어는 복수의 소프트웨어 모듈(즉, 모듈 122, 124 및 126) 내부에 구축된다. 소프트웨어 아키텍쳐의 각 소프트웨어 계층은 하나에서 많은 수의 소프트웨어 모듈을 포함하지만, 특정 계층 및 특정 수직적 기능적 스택의 모든 소프트웨어 모듈은 같은 추상화 레벨을 갖는다. 게다가, 단일 소 프트웨어 모듈은 단지 하나의 수직적 기능적 스택, 그리고 그 스택 내에 단지 하나의 수평적 계층 내에 속한다.
각 계층의 다양한 모듈은 상기 계층의 기능 카테고리마다 인터페이스를 구현한다. 이러한 인터페이스는 각 계층에 대해 소프트웨어 백플레인(Software Back Plane: SwBP) 내에 함께 모여있는데, 각 계층은 모듈 구현으로부터 분리되어 있다. 특별히, SwBP에서는 소프트웨어 모듈과 인터페이스 사이에 강한 결속은 없고, 이러한 점으로 인해 특정의 소프트웨어 모듈 및/또는 인터페이스 구현은 상기 인터페이스의 클라이언트에 영향없이 자유롭게 변화될 수 있다. 도 3에서, 소프트웨어 계층(104, 112, 114, 116 및 118)의 SwBP는 각각 참조번호 130, 132, 134, 136 및 138로 나타내고 있으며, 가능한 부가 계층(12)(점선 내에 표시됨)의 상기 SwBP는 참조번호 140으로 표시된다.
소프트웨어 아키텍쳐(100)의 다양한 소프트웨어 계층 내의 다양한 소프트웨어 모듈은 한 세트의 정의된 의존성 규칙에 따라 통신하게 되어있다. 본 발명의 바람직한 구체예에 따라, 그리고 도 4의 도표(150) 내에 도시된 바와 같이 의존성 규칙은 다음과 같다:
- 계층 내의 소프트웨어 모듈은 그 자체의 SwBP 내에서의 또는 자신의 계층보다 하위 계층 내의 SwBP 내에서의 인터페이스에서만 기능을 수행할 수 있다.
- 소프트웨어 모듈은 그 모듈이 어느 계층에 속하는지 관계없이 그것이 속한 계층의 상위에 있는 SwBP 내의 인터페이스에서는 절대로 기능을 수행하지 않는다.
- 소프트웨어 모듈은 동일한 기능적 스택 내에 그것이 속한 계층의 SwBP 내의 인터페이스에서 기능을 수행할 수 있다.
- 채널 이벤트(channel event)나 데이터 스트림(data stream)의 방향에 대해서는 아무런 제약이 없다. 이들은 아무 방향으로나 진행할 수 있다.
본 발명의 다른 구체예에서, 부가적인 의존성 규칙은 소프트웨어 모듈이 다른 기능 스택 내의 같은 계층에 있는 다른 소프트웨어 모듈에서 기능을 수행하도록 제공될 수 있다. 이러한 부가적인 규칙은 기능 스택 내의 다수의 계층을 한정하기 위한 어떤 구체예에서는 바람직할 수 있다.
상술한 의존성 규칙에 따라, 소프트웨어 계층 간의 강한 의존성은 소프트웨어 아키텍쳐에서 항상 아래쪽을 향하게 된다. 상기 계층을 통한 윗 방향의 통신은 이벤트에 의해 취급되지만, 하나의 이벤트를 수신하기 위해 모듈은 서브스크립션(subscription)을 반드시 가져야 한다. 그러므로, 하위 계층의 이벤트 디텍터(이벤트 송신) 및 상위 계층의 이번테 사용자(이벤트 수신) 사이의 강한 의존성은 없다. 따라서, 상위 계층으로부터 하위 계층의 독립성이 유지된다.
이동 단말기 플랫폼 어셈블리의 소프트웨어를 복수의 계층 내로 구축함으로써, 그리고 다양한 계층의 소프트웨어 모듈이 통신하도록 한 세트의 의존성 규칙을 정의함으로써, 소프트웨어 아키텍쳐는 그 내부에서의 소프트웨어 의존성은 쉽게 시각화되고 이해할 수 있다. 이것은 많은 이점을 제공한다. 예를 들어, 정의된 의존성 규칙과 결합된 수평적 소프트웨어 계층은 개발자로 하여금 클라이언트-서버 설 계를 할 수 있도록 하는데, 이는 소프트웨어를 구성하는데 중요한 것이다. 또한, 상위 계층이 하위 계층에 영향을 주지 않고 제거될 수 있는 것과 같이 추상화 레벨에서 소프트웨어를 구성하기가 보다 용이하다.
상기 소프트웨어 계층은 정의된 의존성 규칙과 결합되고, 상기 수평적 기능적 스택은, 상기 스택이 기능에 의해 분류되고 어느 특정의 스택은 다른 기능적 스택의 내부사항에 영향을 주지 않고서 제거될 수 있는 것과 같이, 기능 면에서 소프트웨어를 보다 용이하게 구성할 수 있게 한다.
상기 계층 구현(모듈)으로부터 계층 인터페이스(SwBP)를 분리함으로써, 계층 내의 모듈 구현 및 설계의 변화는 모듈이 SwBP에 의해 요약(encapsulate)되는 것과 같이 단순해진다. 또한, 이 점으로 인해 모듈 구현 내에서의 변화가 인터페이스가 변하지 않는 한 SwBP에 어떠한 영향도 주지 않는 것과 같이 버전 핸들링(version handling)을 단순화한다.
도 5는 본 발명의 다른 바람직한 구체예에 따른 도 1 및 2의 이동 단말기 플랫폼 어셈블리(12)에 대한 소프트웨어 아키텍쳐의 구체적인 구현을 개략적으로 도시한 블록도이다. 도 5에서, 상기 소프트웨어 아키텍쳐는 참조번호 200으로 표시되고, 미들웨어 서비스 계층(26) 및 소프트웨어 서비스 요소(22)의 계층을 포함한 복수의 계층으로 이루어진다. 각 계층은 모듈(230, 232 및 234)과 같은 최소한 하나의 모듈을 포함한다. 상기 소프트웨어 서비스 요소(22)의 계층은 어플리케이션 서비스를 제공하기 위한 어플리케이션 서버 계층(202), 어플리케이션의 플랫폼 특정 서비스를 제공하기 위한 플랫폼 서비스 계층(204), 세션 프로토콜과 어플리케이션 특정 프로토콜을 제공하기 위한 플랫폼 프로토콜 계층(206), 오디오 액세스/컨트롤, 데이터컴 전송 프로토콜 및 메시지 전송 프로토콜을 제공하기 위한 전송 계층(208), 외부 데이터 IF 액세스, 구조적 저장 서비스 및 다른 하위 레벨 플랫폼 지원 서비스를 제공하기 위한 데이터 액세스 계층(210), 논리 드라이버 계층(212) 및 물리적 드라이버 계층(214)을 포함한다.
상기 논리 드라이버 계층(212)은 이동 단말기 플랫폼 어셈블리의 하드웨어와 소프트웨어 사이의 의존성을 독립시키는 하드웨어 추상화 계층으로 구성된다. 상기 물리적 드라이버 계층만이 하드웨어의 세부적인 것들(즉, ASIC 하드웨어에서 어느 레지스터가 할당되는지)과 관련된다. 상기 논리 드라이버 계층(212)은 상기 하드웨어에 대해 논리적 매핑을 제공한다. 즉, 이러한 계층은 이동 단말기 플랫폼 어셈블리의 하드웨어 및 소프트웨어 사이의 브리지를 제공한다.
상기 미들웨어 서비스 계층(26)은 어플리케이션의 개발에 다른 어플리케이션 환경의 범위를 제공하고 지원한다. 각 어플리케이션 환경은 그 자체의 특성을 가지며, 다음과 같이 정의된다:
- 어플리케이션이 개발되는 방식(프로그래밍 언어 지원, 컴파일레이션(compilation) 및 링키지(linkage).
- 어플리케이션이 실행되는 방식(예컨대, 해독 혹은 네이티브 코드 실행)
- 제공되는 기능적 서비스.
- 사용에 있어서의 잠재적인 제한
다수의 어플리케이션 환경 대체물을 제공함으로써, 비용, 사용의 용이성, 판매 시간, 기능 세트, 크기, 이동성 등과 같은 변화되는 요구와 함께 넓은 범위의 제품이 용이하게 된다. 도 5에 도시한 바와 같이, 그러한 미들웨어 계층에 의해 제공된 환경은 JAVA EXE 환경 도메인, 오픈 어플리케이션 프레임워크(Open Application Framework: OAF) 도메인, 및 오픈 플랫폼 API(OPA) 도메인을 포함할 수 있다.
상기 미들웨어 서비스 계층의 더 구체적이고 상세한 예는 일반 양도된 미국특허출원(대리인 사건번호 53807-00024USPT)호에 잘 기술되어 있으며, 본 명세서에서 참조할 수 있다.
도 5에 도시된 바와 같이, 다양한 계층의 다양한 모듈 사이의 통신은 SwBP(222, 224, 226 및 228)과 같은 소프트웨어 백 플레인을 통해 이루어진다.
앞에서 나타낸 바와 같이, 이동 단말기 플랫폼 어셈블리의 소프트웨어 서비스 요소(22)는 데이터 통신 서비스 소프트웨어 스택(32)을 포함한다. 본 발명의 바람직한 구체예에 따르면, 데이터 통신 서비스 소프트웨어 스택(32)은 다양한 데이터 통신 서비스를 제공하고, 이러한 서비스를 제공하기 위해 인터넷 프로토콜(IPs), 원격통신 장치 제어 프로토콜, 다이얼-업 네트워킹 및 링크 핸들링 프로토콜, 및 외부 인터페이스 다중화 프로토콜을 포함하는 다양한 프로토콜을 지원한다. 수많은 서비스 중에서 상기 데이터 통신 서비스 소프트웨어 스택에 의해 제공되는 서비스는 이동 단말기를 PC에 접속하는 것과 관련한 서비스(예를 들어, 블루투스, IrDA, USB 등을 통한 객체 변화와 같은 객체의 변화), PC를 이동 단말기를 통해 인터넷에 접속하는 것과 관련한 서비스(예를 들어, 다이얼-업 네트워킹), 이동 단말기를 인터넷에 접속하는 것과 관련된 서비스(예를 들어, WAP, E-Mail, 멀티미디어 스트리밍 및 인터넷 파일 다운로딩), 및 이동 단말기를 다른 이동 단말기에 접속하는 것과 관련된 서비스(예를 들어, 비디오회의 및 다른 목적들)를 포함한다.
도 6은 본 발명의 바람직한 구체예에 따른 프로토콜 매핑, 구체적으로는 GSM 회선 교환 데이터의 블루투스를 통한 다이얼-업 네트워킹에 대한 프로토콜 매핑(250)의 하나의 예를 개략적으로 나타낸 블록도이다. GSM 회선 교환 데이터에 대하여, 이동 단말기는 에어 인터페이스를 통해 무선 연결 프로토콜(Radio Link Protocol: RLP)을 사용한다. RLP는 재전송 메커니즘에 의해 에러 없는 데이터의 전송을 보장한다. RLP는 전송시 비트 에러를 다루기 위해 순방향 에러 정정(Forward Error Correction: FEC)을 이용한다. 레이어 2 릴레이 캐릭터 오리엔티드 프로토콜(Layer 2 Relay Character Oriented Protocol: L2RCOP)은 RLP의 상위에서 사용되고, V42bis를 구현한다.
데이터 통신 서비스 소프트웨어 스택(32)은 이동 단말기 플랫폼 어셈블리의 소프트웨어 아키텍쳐 내의 다양한 모듈을 외부와 연결하게 한다. 그것은 어느 모듈이 쉽게 확인될 수 있는지 지침을 제공한다. 예를 들어, 어느 표준에 변화가 있으면, 표준 변화에 영향받는 모듈 또는 모듈들은 그것들도 변화될 수 있도록 쉽게 확인될 수 있다.
도 7은 본 발명의 다른 바람직한 구체예에 따른 소프트웨어 아키텍쳐를 구축 하는 방법의 단계를 개략적으로 나타낸 흐름도이다. 상기 방법은 일반적으로 참조번호 300으로 표시되고, 상위 레벨 서비스를 제공하는 소프트웨어 계층에서부터 하위 레벨 서비스를 제공하는 소프트웨어 계층까지의 순서로 정렬된 복수의 소프트웨어 계층에서 소프트웨어를 구축하는 단계를 포함한다(단계 302). 바람직하게, 상기 구축하는 단계는 또한 최소한 하나의 수직적 기능적 소프트웨어 스택 내에서 상기 소프트웨어를 구축하는 단계도 포함한다. 상기 방법은 한 세트의 정의된 의존성 규칙에 따라 복수의 소프트웨어 계층 사이에서 통신을 수행하게 하기 위한 인터페이스 수단을 제공하는 단계를 포함한다(단계 304).
위에서 설명한 것들은 본 발명의 바람직한 구체예를 들고 있지만, 본 발명은 그로부터 벗어나지 않는 범위에서 다양한 방법으로 변형될 수 있음을 알아야 한다. 예를 들어, 본 발명에 따른 소프트웨어 아키텍쳐는 각 계층 내의 하나 또는 그 이상의 모듈과 함께 복수의 수평적 계층으로 이루어지는 것처럼 기술되어 있다고 하더라도, 그것은 본래 특정 모듈이 복수의 계층 내에 배열된 복수의 서브-모듈로 구성되는 것으로 이해되어야 한다. 또한,
수평적 기능적 스택의 수와 특성은 특정의 어플리케이션을 위해 원하는 대로 또는 필요한 대로 변화될 수 있다. 더욱이, 상기 소프트웨어 아키텍쳐는 여기서 제3 세대 셀룰러 원격통신 시스템을 위한 이동 단말기의 사용에 대하여 주로 설명되고 있다 하더라도, 상기 아키텍쳐는 또한 제2 세대 및 다른 셀룰러 원격통신 시스템, 블루투스 시스템과 같은 무선 원격통신 시스템, 그리고 다른 어플리케이션에도 사용될 수 있다. 일반적으로, 본 발명의 상기 소프트웨어 아키텍쳐는 특히 복잡한 소프트웨어 시스템을 개발하는데 있어 적합하다. 그것은 본 발명이 다양한 방법으로 변형될 수 있기 때문인데, 본 발명은 아래의 청구의 범위에 의하여 요구되는 범주에 내에서 특정되는 것으로 이해되어야 한다.

Claims (30)

  1. 보다 상위 레벨의 서비스를 제공하는 소프트웨어로부터 보다 하위 레벨의 서비스를 제공하는 소프트웨어까지 순서대로 정렬된 복수의 소프트웨어 계층으로 구축된 소프트웨어;
    각각의 소프트웨어 계층 내의 최소한 하나의 소프트웨어 모듈; 및
    한 세트의 정의된 의존성 규칙에 따라 상기 복수의 소프트웨어 계층 내의 소프트웨어 모듈간에 통신을 수행하도록 하는 인터페이스 수단;
    으로 이루어지며, 미들웨어 서비스 계층은 상기 복수의 소프트웨어 계층의 최상위 계층으로 이루어지고, 상기 미들웨어 서비스는 소프트웨어 아키텍쳐에 최소한 하나의 인터페이스를 제공하는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  2. 제1항에 있어서, 상기 인터페이스 수단은 각각의 소프트웨어 계층에 대한 소프트웨어 백 플레인(Software Back Plane)을 포함하고, 각각의 소프트웨어 백 플레인은 각각의 소프트웨어 계층 내의 상기 최소한 하나의 소프트웨어 모듈과의 인터페이스를 갖는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  3. 제2항에 있어서, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층내의 소프트웨어 모듈이 그 자체의 소프트웨어 백 플레인 내의 또는 그 자체의 소프트웨어 백 플레인의 하위에 있는 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서만 기능을 수행하는 규칙, 및 소프트웨어 모듈은 그 자치의 소프트웨어 계층의 상위에 있는 소프트웨어 계층의 소프트웨어 백 플레인의 인터페이스에서는 절대로 기능을 수행하지 않는 규칙을 포함하는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  4. 제3항에 있어서, 상기 소프트웨어는 최소한 하나의 수직적 기능적 소프트웨어 스택으로 더 구축되는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  5. 제4항에 있어서, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 계층의 소프트웨어 백 플레인 내의, 그리고 동일한 기능적 소프트웨어 스택 내의 인터페이스에서 기능을 수행하는 규칙을 더 포함하는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  6. 제5항에 있어서, 상기 한 세트의 정의된 의존성 규칙은
    소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 계층의 소프트웨어 백 플레인 내의, 그리고 다른 기능적 소프트웨어 스택 내의 인터페이스에서 기능을 수행하는 규칙을 더 포함하는 것을 특징으로 하는 소프트웨어 아키텍쳐를 포함하는 이동 단말기.
  7. 삭제
  8. 소프트웨어 아키텍쳐를 갖는 소프트웨어 서비스 요소를 포함하는 이동 단말기에 있어서, 상기 소프트웨어 아키텍처는,
    보다 상위 레벨의 서비스를 제공하는 소프트웨어 계층에서 보다 하위 레벨의 서비스를 제공하는 소프트웨어 계층까지 순서대로 정렬된 복수의 소프트웨어 계층으로 구축된 소프트웨어;
    각각의 소프트웨어 계층 내의 최소한 하나의 소프트웨어 모듈; 및
    하나의 정의된 의존성 규칙에 따라 상기 복수의 소프트웨어 계층 내의 소프트웨어 모듈간에 통신을 수행하도록 하는 인터페이스 수단;
    으로 이루어지며, 미들웨어 서비스 계층은 상기 복수의 계층의 최상의 계층으로 이루어지고, 상기 미들웨어 서비스 계층은 상기 소프트웨어 아키텍처에 최소한 하나의 인터페이스를 제공하는 것을 특징으로 하는 무선 원격통신 시스템용 이동 단말기.
  9. 제8항에 있어서, 상기 인터페이스 수단은 각각의 소프트웨어 계층에 대한 소프트웨어 백 플레인으로 이루어지고, 각각의 소프트웨어 백 플레인은 각각의 소프트웨어 계층 내에 상기 적어도 하나의 소프트웨어 모듈과의 인터페이스를 가지며, 그리고 상기 하나의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 백 플레인 내의 또는 그 자체의 소프트웨어 백 플레인 하위의 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서만 기능을 수행할 수 있는 규칙, 및 소프트웨어 모듈이 그 자체의 소프트웨어 계층 상위의 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서는 절대로 기능을 수행하지 않는 규칙을 포함하는 것을 특징으로 하는 이동 단말기.
  10. 제9항에 있어서, 상기 소프트웨어는 최소한 하나의 수직적 기능적 소프트웨어 스택 내에서 더 구축되고, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 계층의 소프트웨어 백 플레인 내의, 그리고 동일한 기능적 소프트웨어 스택 내의 인터페이스에서 기능을 수행하는 것을 특징으로 하는 이동 단말기.
  11. 제10항에 있어서, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체 계층의 소프트웨어 백 플레인 내의, 그리고 상이한 소프트웨어 기능적 스택 내의 인터페이스에서 기능을 수행하는 것을 특징으로 하는 이동 단말기.
  12. 제10항에 있어서, 상기 최소한 하나의 수직적 기능적 소프트웨어 스택은 데이터 통신 서비스 소프트웨어 스택을 포함하는 것을 특징으로 하는 이동 단말기.
  13. 제12항에 있어서, 상기 데이터 통신 서비스 소프트웨어 스택은 다양한 데이터 통신 서비스를 제공하고, 그리고 그러한 서비스를 제공하기 위해 인터넷 프로토콜, 원격통신 장치 제어 프로토콜, 다이얼-업 네트워킹 및 링크 핸들링 프로토콜, 및 외부 인터페이스 다중화 프로토콜 중 하나 또는 그 이상을 포함하는 다양한 프로토콜을 지원하는 것을 특징으로 하는 이동 단말기.
  14. 삭제
  15. 제14항에 있어서, 상기 소프트웨어 서비스 요소에 의해 제어되는 하드웨어 서비스 요소를 더 포함하는 것을 특징으로 하는 이동 단말기.
  16. 제8항에 있어서, 상기 무선 원격통신 시스템은 셀룰러 원격통신 시스템으로 이루어지는 것을 특징으로 하는 이동 단말기.
  17. 제16항에 있어서, 상기 셀룰러 원격통신 시스템은 제3 세대 셀룰러 원격통신 시스템으로 이루어지는 것을 특징으로 하는 이동 단말기.
  18. 소프트웨어 서비스 요소;
    상기 소프트웨어 서비스 요소에 의해 제어되는 하드웨어 서비스 요소; 및
    플랫폼 어셈블리에 인터페이스를 제공하는 미들웨어 서비스 요소;
    로 이루어지고, 상기 소프트웨어 서비스 요소의 소프트웨어 및 상기 미들웨어 서비스 요소의 소프트웨어는,
    보다 상위 레벨의 서비스를 제공하는 소프트웨어 계층으로부터 보다 낮은 레벨의 서비스를 제공하는 소프트웨어 계층까지 순서대로 정렬된 복수의 소프트웨어 계층으로 구축된 소프트웨어;
    각각의 소프트웨어 계층 내의 최소한 하나의 소프트웨어 모듈; 및
    한 세트의 정의된 의존성 규칙에 따라 상기 복수의 소프트웨어 계층 내의 소프트웨어 모듈간에 통신을 수행하도록 하는 인터페이스 수단;
    으로 이루어진 소프트웨어 아키텍쳐 내에 구축되며, 상기 미들웨어 서비스 요소는 이동 단말기 플랫폼 시스템을 제공하기 위해 로딩, 인스톨 및 실행 어플리케이션 소프트웨어를 위한 최소한 하나의 인터페이스를 제공하는 것을 특징으로 하는 무선 원격통신 시스템의 플랫폼 어셈블리를 포함하는 이동 단말기
  19. 제18항에 있어서, 상기 인터페이스 수단은 각각의 소프트웨어 계층의 소프트웨어 백 플레인으로 이루어지고, 각각의 소프트웨어 백 플레인은 각 소프트웨어 계층 내의 상기 최소한 하나의 모듈과의 인터페이스를 가지며, 그리고 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 백 플레인 내의 또는 그 자체 소프트웨어 백 플레인 하위의 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서만 기능을 수행하는 규칙; 및 소프트웨어 모듈이 그 자체 소프트웨어 계층 상위의 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서는 절대로 기능을 수행하지 않는 규칙을 포함하는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  20. 제19항에 있어서, 상기 소프트웨어는 최소한 하나의 수직적 기능적 소프트웨어 스택 내에 더 구축되고, 그리고 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 계층의 소프트웨어 백 플레인 내의, 그리고 동일한 기능적 소프트웨어 스택 내의 인터페이스에서 기능을 수행하는 규칙을 더 포함하는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  21. 제20항에 있어서, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체 계층의 소프트웨어 백 플레인 내의, 그리고 상이한 기능적 소프트웨어 스택 내의 인터페이스에서 기능을 수행하는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  22. 제20항에 있어서, 상기 최소한 하나의 수직적 기능적 소프트웨어 스택은 UMTS 액세스 서비스 소프트웨어 스택, 데이터 통신 서비스 소프트웨어 스택, 맨-머신 인터페이스 스택, 어플리케이션 플랫폼 서비스 스택, 및 오퍼레이션 및 서비스 소프트웨어 스택 중 최소한 하나를 포함하는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  23. 삭제
  24. 제18항에 있어서, 상기 무선 원격통신 시스템은 셀룰러 원격통신 시스템으로 이루어지는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  25. 제24항에 있어서, 상기 셀룰러 원격통신 시스템은 제2 세대 셀룰러 원격통신 시스템으로 이루어지는 것을 특징으로 하는 플랫폼 어셈블리를 포함하는 이동 단말기.
  26. 보다 상위 레벨의 서비스를 제공하는 소프트웨어 계층으로부터 보다 하위 레벨의 서비스를 제공하는 소프트웨어 계층까지 순서대로 정렬된 복수의 소프트웨어 계층으로 소프트웨어를 구축하고, 각 소프트웨어 계층은 적어도 하나의 소프트웨어 모듈을 포함하며, 미들웨어 서비스 계층은 상기 복수의 소프트웨어 계층의 최상위 계층으로 이루어지고, 상기 미들웨어 서비스는 소프트웨어 아키텍쳐에 최소한 하나의 인터페이스를 제공하고; 그리고
    한 세트의 정의된 의존성 규칙에 따라 상기 복수의 소프트웨어 계층 내의 소프트웨어 모듈간의 통신을 수행하도록 하기 위한 인터페이스 수단을 제공하는;
    단계로 이루어지는 것을 특징으로 하는 소프트웨어 아키텍쳐의 구축 방법.
  27. 제26항에 있어서, 상기 인터페이스 수단은 각 소프트웨어 계층에 대한 소프트웨어 백 플레인으로 이루어지고, 각각의 소프트웨어 백 플레인은 각 소프트웨어 계층 내에 적어도 하나의 소프트웨어 모듈과의 인터페이스를 가지며, 그리고 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 백 플레인 내의 또는 그 자체 소프트웨어 백 플레인 하위 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서만 기능을 수행하는 규칙, 및 소프트웨어 모듈이 그 자체의 소프트웨어 계층 상위의 소프트웨어 계층의 소프트웨어 백 플레인 내의 인터페이스에서는 절대로 기능을 수행하지 않는 규칙을 포함하는 것을 특징으로 하는 소프트웨어 아키텍쳐의 구축 방법.
  28. 제27항에 있어서, 상기 구축 방법은 최소한 하나의 수직적 기능적 소프트웨어 스택 내의 상기 소프트웨어를 더 구축하는 것을 특징으로 하는 소프트웨어 아키텍쳐의 구축 방법.
  29. 제28항에 있어서, 상기 한 세트의 정의된 의존성 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체의 소프트웨어 계층의 소프트웨어 백 플레인 내의, 그리고 동일한 기능적 소프트웨어 스택 내의 인터페이스 내에서 기능을 수행하는 것을 특징으로 하는 소프트웨어 아키텍쳐의 구축 방법.
  30. 제29항에 있어서, 상기 한 세트의 정의된 규칙은 소프트웨어 계층 내의 소프트웨어 모듈이 그 자체 소프트웨어 계층의 소프트웨어 백 플레인 내의, 그리고 상이한 기능적 소프트웨어 스택 내의 인터페이스 내에서 기능을 수행하는 것을 특징으로 하는 소프트웨어 아키텍쳐의 구축 방법.
KR1020047011959A 2002-02-15 2003-02-13 계층형 아키텍처를 포함하는 이동 단말기 KR101036760B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US35729102P 2002-02-15 2002-02-15
US35736602P 2002-02-15 2002-02-15
US60/357,291 2002-02-15
US60/357,366 2002-02-15
US41275602P 2002-09-23 2002-09-23
US60/412,756 2002-09-23
US10/359,911 2003-02-07
US10/359,911 US8079015B2 (en) 2002-02-15 2003-02-07 Layered architecture for mobile terminals
PCT/EP2003/001430 WO2003069463A2 (en) 2002-02-15 2003-02-13 Layered architecture for mobile terminals

Publications (2)

Publication Number Publication Date
KR20040103925A KR20040103925A (ko) 2004-12-09
KR101036760B1 true KR101036760B1 (ko) 2011-05-25

Family

ID=27739378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047011959A KR101036760B1 (ko) 2002-02-15 2003-02-13 계층형 아키텍처를 포함하는 이동 단말기

Country Status (7)

Country Link
US (2) US8079015B2 (ko)
EP (1) EP1485793A2 (ko)
JP (1) JP2005526308A (ko)
KR (1) KR101036760B1 (ko)
CN (1) CN1714339B (ko)
AU (1) AU2003218656A1 (ko)
WO (1) WO2003069463A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079015B2 (en) * 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
BRPI0415219B1 (pt) * 2003-10-10 2019-08-13 Ericsson Telefon Ab L M sistema de plataforma de terminal móvel, e, método de criação de um sistema de plataforma de terminal móvel
KR100890481B1 (ko) * 2004-08-10 2009-03-26 메시네트웍스, 인코포레이티드 다중 라디오 라우팅을 위한 소프트웨어 구조 및 하드웨어추상화 계층 및 그를 제공하는 방법
US7561544B2 (en) * 2004-10-27 2009-07-14 Honeywell International Inc. Machine architecture for event management in a wireless sensor network
US7590098B2 (en) * 2004-10-27 2009-09-15 Honeywell International Inc. Publish/subscribe model in a wireless sensor network
US7664080B2 (en) * 2004-10-27 2010-02-16 Honeywell International Inc. Discreet event operators for event management in a wireless sensor network
US8027280B2 (en) * 2004-10-27 2011-09-27 Honeywell International Inc. Layered architecture for data management in a wireless sensor network
US7630336B2 (en) * 2004-10-27 2009-12-08 Honeywell International Inc. Event-based formalism for data management in a wireless sensor network
US7715308B2 (en) * 2004-12-09 2010-05-11 Honeywell International Inc. Fault tolerance in a wireless network
US20070067499A1 (en) * 2005-09-08 2007-03-22 Honeywell International Inc. Systems and methods for satellite payload application development
US20080052663A1 (en) * 2006-07-17 2008-02-28 Rod Cope Project extensibility and certification for stacking and support tool
US8245191B2 (en) * 2008-07-03 2012-08-14 International Business Machines Corporation Policy application rules for automated configuration of software components
ATE539547T1 (de) * 2008-07-09 2012-01-15 Ericsson Telefon Ab L M Modemvorrichtung für ein modulares drahtloses kommunikationssystem
US9454360B2 (en) * 2010-11-04 2016-09-27 Oracle International Corporation Characterizing interface evolution and consumer roles in module systems
US10171341B2 (en) * 2015-09-14 2019-01-01 International Business Machines Corporation Software defined storage stack problem diagnosis and optimization
US9733999B1 (en) 2016-03-24 2017-08-15 Wells Fargo Bank, N.A. Dynamic optimization of application workflows
KR102130774B1 (ko) * 2018-09-12 2020-07-06 건양대학교 산학협력단 Ip기반 소프트웨어 자산 아키텍쳐 생성 시스템
KR102609583B1 (ko) * 2023-05-15 2023-12-05 쿠팡 주식회사 정보를 설정하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010056289A (ko) * 1999-12-14 2001-07-04 오길록 전송시스템의 운용관리 소프트웨어 프로세스 구조
US20060137802A1 (en) * 2002-08-01 2006-06-29 Flament Julien M Green tire evolution for high speed uniformity

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831148A (en) * 1973-01-02 1974-08-20 Honeywell Inf Systems Nonexecute test apparatus
US5689565A (en) * 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
US5627478A (en) * 1995-07-06 1997-05-06 Micron Technology, Inc. Apparatus for disabling and re-enabling access to IC test functions
US6467085B2 (en) * 1995-10-17 2002-10-15 Telefonaktiebolaget L M Ericsson (Publ) System and method for reducing coupling in an object-oriented programming environment
FI955188A (fi) 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US6044408A (en) 1996-04-25 2000-03-28 Microsoft Corporation Multimedia device interface for retrieving and exploiting software and hardware capabilities
US6279124B1 (en) * 1996-06-17 2001-08-21 Qwest Communications International Inc. Method and system for testing hardware and/or software applications
WO1998019239A1 (en) 1996-10-25 1998-05-07 Raytheon Systems Canada Ltd. Distributed virtual software interface or machine
EP0841612A3 (en) 1996-11-08 2003-05-28 International Business Machines Corporation Framework for software development
US5771240A (en) * 1996-11-14 1998-06-23 Hewlett-Packard Company Test systems for obtaining a sample-on-the-fly event trace for an integrated circuit with an integrated debug trigger apparatus and an external pulse pin
US5954827A (en) * 1996-12-23 1999-09-21 Micron Electronics, Inc. Method and system for indicating computer status
US6002869A (en) * 1997-02-26 1999-12-14 Novell, Inc. System and method for automatically testing software programs
US6137802A (en) * 1997-03-25 2000-10-24 Motorola, Inc. Automatic media switching apparatus and method
US5937366A (en) * 1997-04-07 1999-08-10 Northrop Grumman Corporation Smart B-I-T (Built-In-Test)
JPH10301783A (ja) 1997-04-25 1998-11-13 Hitachi Ltd オブジェクト指向分散システム
US6134706A (en) * 1997-08-14 2000-10-17 International Business Machines Corporation Software business objects in a multi-level organizational structure
DE19739791A1 (de) 1997-09-10 1999-03-11 Siemens Ag Vorrichtung zur Verarbeitung digitaler Signale für ein Endgerät eines Telekommunikationsnetzes, insbesondere Mobilfunknetzes
JP4565740B2 (ja) * 1997-12-12 2010-10-20 アルカテル・ユー・エス・エイ・ソーシング、エル・ピー ネットワークマネージメント
US6112312A (en) * 1998-03-10 2000-08-29 Advanced Micro Devices, Inc. Method for generating functional tests for a microprocessor having several operating modes and features
EP1073957B1 (en) 1998-03-23 2003-05-21 Microsoft Corporation Application program interfaces in an operating system
US6052524A (en) * 1998-05-14 2000-04-18 Software Development Systems, Inc. System and method for simulation of integrated hardware and software components
US6105154A (en) * 1998-05-29 2000-08-15 Lucent Technologies, Inc. Multi-bus multi-data transfer protocols controlled by a bus arbiter coupled to a CRC signature compactor
US6216227B1 (en) * 1998-06-29 2001-04-10 Sun Microsystems, Inc. Multi-venue ticketing using smart cards
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
US6808111B2 (en) 1998-08-06 2004-10-26 Visa International Service Association Terminal software architecture for use with smart cards
US6353897B1 (en) * 1999-01-06 2002-03-05 International Business Machines Corporation Object oriented apparatus and method for testing object oriented software
US6389491B1 (en) * 1999-03-23 2002-05-14 Agilent Technologies, Inc. Test instrumentation I/O communication interface and method
FI990690A (fi) 1999-03-29 2000-09-30 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä tiedonsiirron toimivuuden testaamiseksi radio laitteessa
ATE425590T1 (de) 1999-05-07 2009-03-15 Infineon Technologies Ag Reprogrammierbare digitale drahtlose vorrichtung und verfahren zur nutzung derselben
EP1190567A2 (en) 1999-05-21 2002-03-27 General Instrument Corporation Programming interface for television settop core system software
US6467086B1 (en) 1999-07-20 2002-10-15 Xerox Corporation Aspect-oriented programming
WO2001014960A2 (en) 1999-08-23 2001-03-01 Koninklijke Philips Electronics N.V. Generic interface for a software module
JP2001111384A (ja) * 1999-10-06 2001-04-20 Fujitsu Ltd 信号処理フィルタシステム
JP2001111364A (ja) 1999-10-12 2001-04-20 Nec Corp マイクロ波増幅器
US20020049852A1 (en) 1999-12-06 2002-04-25 Yen-Jen Lee Global messaging with distributed adaptive streaming control
US6317659B1 (en) * 1999-12-09 2001-11-13 Honeywell International Inc. Layered subsystem architecture for a flight management system
US6553223B1 (en) 1999-12-30 2003-04-22 Qualcomm Incorporated Virtual device architecture for mobile telephones
AU2001227892A1 (en) 2000-01-14 2001-07-24 Parthus Technologies Plc An algorithmic test pattern generator, with built-in-self-test (bist) capabilities, for functional testing of a circuit
US6691249B1 (en) 2000-03-22 2004-02-10 Agilent Technologies, Inc. Probabilistic diagnosis, in particular for embedded and remote applications
GB0011954D0 (en) 2000-05-17 2000-07-05 Univ Surrey Protocol stacks
US7139709B2 (en) * 2000-07-20 2006-11-21 Microsoft Corporation Middleware layer between speech related applications and engines
US7069204B1 (en) 2000-09-28 2006-06-27 Cadence Design System, Inc. Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements
TW580578B (en) 2000-10-03 2004-03-21 Concord Idea Corp System and method for testing integrated circuit devices
TW548535B (en) 2000-10-17 2003-08-21 Ericsson Telefon Ab L M Security system
US7353494B2 (en) 2000-10-26 2008-04-01 Microsoft Corporation System and method supporting configurable object definitions
US20020121913A1 (en) 2000-12-28 2002-09-05 Advanced Micro Devices, Inc. Tester with independent control of devices under test
US7181237B2 (en) 2001-03-15 2007-02-20 Siemens Communications, Inc. Control of a multi-mode, multi-band mobile telephone via a single hardware and software man machine interface
CN1313562A (zh) * 2001-05-15 2001-09-19 北京慧讯信息技术有限公司 嵌入式开放平台的体系结构
US7370239B2 (en) * 2001-05-31 2008-05-06 Fisher-Rosemount Systems, Inc. Input/output device with configuration, fault isolation and redundant fault assist functionality
US20030005019A1 (en) * 2001-06-27 2003-01-02 Kuldipsingh Pabla Application frameworks for mobile devices
US7093259B2 (en) * 2001-12-20 2006-08-15 Cadence Design Systems, Inc. Hierarchically structured logging for computer work processing
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010056289A (ko) * 1999-12-14 2001-07-04 오길록 전송시스템의 운용관리 소프트웨어 프로세스 구조
US20060137802A1 (en) * 2002-08-01 2006-06-29 Flament Julien M Green tire evolution for high speed uniformity

Also Published As

Publication number Publication date
CN1714339A (zh) 2005-12-28
AU2003218656A8 (en) 2003-09-04
US8079015B2 (en) 2011-12-13
KR20040103925A (ko) 2004-12-09
US8234628B2 (en) 2012-07-31
US20030177275A1 (en) 2003-09-18
US20090178027A1 (en) 2009-07-09
JP2005526308A (ja) 2005-09-02
AU2003218656A1 (en) 2003-09-04
CN1714339B (zh) 2012-07-18
EP1485793A2 (en) 2004-12-15
WO2003069463A3 (en) 2004-09-16
WO2003069463A2 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
US8234628B2 (en) Layered architecture for mobile terminals
KR101026110B1 (ko) 미들웨어 서비스 계층을 포함하는 이동 단말기용 플랫폼 시스템
KR100962463B1 (ko) 이동 단말기 플랫폼 시스템
US7409674B2 (en) System and method of creating and communicating with component based wireless applications
US20050193137A1 (en) Protocol stack with modification facility
KR101047278B1 (ko) 미들웨어 어플리케이션 메시지/이벤트 모델
RU2496278C2 (ru) Способ связи между платформами
JP2006519518A (ja) 柔軟なプロトコル・スタック
EP1723561A1 (en) Method, data processing device, computer program product and arrangement for processing electronic data
US20060143715A1 (en) Method and apparatus for providing security policy enforcement
CN110275701A (zh) 数据处理方法、装置、介质和计算设备
WO2003081428A2 (en) 'A local area wireless network simulator'
Vicente et al. DECT Shield for Arduino
Ekblad et al. Bluetooth packet reader in an ose environment
González-Barbone et al. GNUWiNetwork, a software framework to build wireless networks
Ponzi et al. 3.1 The Environment

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: 20140512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150508

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160509

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170508

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180509

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 9