KR100602318B1 - 고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치 - Google Patents

고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치 Download PDF

Info

Publication number
KR100602318B1
KR100602318B1 KR1020037013843A KR20037013843A KR100602318B1 KR 100602318 B1 KR100602318 B1 KR 100602318B1 KR 1020037013843 A KR1020037013843 A KR 1020037013843A KR 20037013843 A KR20037013843 A KR 20037013843A KR 100602318 B1 KR100602318 B1 KR 100602318B1
Authority
KR
South Korea
Prior art keywords
service
slee
component
layer
client
Prior art date
Application number
KR1020037013843A
Other languages
English (en)
Other versions
KR20040000439A (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
Priority claimed from US09/864,696 external-priority patent/US7007063B2/en
Priority claimed from US09/884,497 external-priority patent/US6694002B2/en
Priority claimed from US09/884,578 external-priority patent/US6690783B2/en
Priority claimed from US09/884,575 external-priority patent/US6690781B2/en
Priority claimed from US09/884,577 external-priority patent/US6914969B2/en
Priority claimed from US09/884,576 external-priority patent/US6690782B2/en
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040000439A publication Critical patent/KR20040000439A/ko
Application granted granted Critical
Publication of KR100602318B1 publication Critical patent/KR100602318B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Machine Translation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 지능형 네트워크(intelligent network)를 위한 애플리케이션 실행 환경에 관한 것이다. 애플리케이션 실행 환경은 서비스 논리층(service logic layer) 내에 서비스 로직 실행 환경(service logic execution environment : SLEE)을 포함한다. 특히, SLEE는 JAIN-컴플라이언트 SLEE일 수 있다. SLEE는 서비스 논리층 내의 서비스 구성 요소와 프로토콜층 및 애플리케이션층 내의 클라이언트 구성 요소 사이에서 이벤트를 라우팅하기 위한 이벤트 라우팅 버스(event routing bus)를 포함할 수 있다. 또한, 애플리케이션 실행 환경은 프로토콜층 내에 적어도 하나의 클라이언트 구성 요소를 포함할 수 있고, 여기에서 적어도 하나의 클라이언트 구성 요소는 커넥터/래퍼 인터페이스(connector/wrapper interface)를 통해서 SLEE에 통신가능하게 링크된다. 마지막으로, 애플리케이션 실행 환경은 적어도 하나의 SLEE 내에서 실행되는 적어도 하나의 텔레포니 서비스 구성 요소(telephony service component)를 포함할 수 있고, 여기에서 텔레포니 구성 요소는, SLEE 내의 이벤트 라우팅 버스를 통해서 프로토콜 내의 클라이언트 구성 요소 및 서비스 논리층 내의 다른 서비스 구성 요소와 통신하도록 구성될 수 있다.

Description

고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치{SERVICE APPLICATION ARCHITECTURE FOR INTEGRATED NETWORK SERVICE PROVIDERS}
본 발명은 고급 지능형 네트워크(intelligent networks)의 분야에 관한 것으로서, 보다 구체적으로는 통합형 네트워크 서비스 제공자를 위한 서비스 애플리케이션 아키텍처(service application architecture)에 관한 것이다.
개방형 네트워크(open network) API(application programming interface)의 개발은 PSTN(public switched telephone network)의 아키텍처를 개방하기 위한 통상적인 방법으로부터의 중대한 이탈을 나타낸다. 이러한 개방형 네트워크 API 중의 하나인, AIN(Advanced Intelligent Network) API 및 아키텍쳐는 전환 환경(switch environment) 외부의 원격 통신(telecommunications) 서비스 애플리케이션의 생성을 가능하게 하는 호출 모델(call model)을 규정한다. 원격 통신 서비스 애플리케이션은 둘 이상의 당사자 사이에서 설정되는 원격 통신 세션을 위한 강화된 서비스를 수행할 수 있는 a' la carte 원격 통신 애플리케이션이다. 예시적 인 서비스 애플리케이션은 호출 대기(Call Waiting), 호출자 ID, 호출 전송(Call Forwarding), 음성 다이얼링(Voice Activated Dialing) 및 미트-미 회의(Meet-me Conferencing)를 포함할 수 있다.
최초로 AIN이 도입되었을 때, 서비스 애플리케이션 생성 프로세스에 대해서, AIN 아키텍처는 중대한 진보를 의미하는 것이었다. AIN은 스위칭에서의 서비스 개발로부터 분리되어, 서비스 로직 구성 요소가 더 빠르게 개발될 수 있게 하고, 데이터베이스에 부착된 특수 네트워크 소자 내에 배치된다. 다음으로, 스위치는 모든 서비스 로직으로부터 자유로워서, 속도 및 효율에 있어서 최적화될 수 있다. 또한, AIN 사양(specification)에 대해 개발된 전형적인 서비스 애플리케이션은, 특수한 서비스 생성 환경을 이용하여 특별히 훈련된 프로그래머에 의해 특정 언어로 기록된다.
중요한 점은, 미래의 원격 통신 네트워크는, 패킷-교환 네트워크, 회로-교환 네트워크, 및 무선 네트워크가 통합되어 가입자(subscriber)에게 혁신적인 멀티미디어, 다자 애플리케이션(multiparty application)의 어레이를 제공하는 신규이고 진보된 네트워크 아키텍쳐의 특징을 가질 것이라는 점이다. 이와 동등하게 중요한 점은, 원격 통신 애플리케이션이 개발되는 프로세스가 변동될 것이며, 더 이상 단독으로 원격 통신 네트워크 또는 서비스 애플리케이션 제공자의 도메인이 될 수 없을 것임이 예상된다는 것이다. 사실상, 신규이고, 주목되는 애플리케이션의 광범위한 포트폴리오(portfolio)를 빠르게 제공하기 위해서, 서비스 애플리케이션 제공자가, 제 3 자 애플리케이션 개발자 및 소프트웨어 공급자로 바뀌는 것이 증가될 것이다. 그러므로, 원격 통신 도메인 내에서의 애플리케이션 개발은, 소비자에게 증가된 경쟁 이득과, 시장에 대한 짧은 접근 시간 및 개발되는 새로운 기술의 신속한 이용을 획득하게 하면서, 일반적인 소프트웨어 및 정보 기술에서의 애플리케이션 개발과 더욱 유사하게 될 것이다.
이러한 예측을 실현하기 위해서, AIN의 원리는 새로운 서비스 애플리케이션 구성 요소 개발의 패러다임을 위해서 폐기되어 왔다. 특히, 미래의 통합된 네트워크는, 한 공급자의 시스템과의 호환성(compatibility)을 위해서 기록된 애플리케이션이 다른 공급자의 시스템에서 실행될 수 있도록, 애플리케이션 개발자에게 표준의 개방된 API의 세트를 제공해야 한다. 결과적으로, 애플리케이션 개발 비용을 상환하여 소비자에게로의 최종 비용을 감소시킬 수 있다. JAIN(Java APIs for Integrated Networks)은 새로운 서비스 애플리케이션 구성 요소 개발 패러다임의 조건을 충족시킨다. 현재, JAIN은, 통합된 인터넷 프로토콜(Internet Protocol : IP) 또는 ATM(asynchronous transport mode) 네트워크, PSTN 및 무선 네트워크를 포함하는 표준의, 개방되고 공표된 차세대 시스템을 위한 자바 API를 포함한다. JAIN API는 MGCP(Media Gateway Control Protocol), SIP(Session Initiation Protocol) 및 TCAP(Transactional Capabilities Application Part) 등과 같은 서로 다른 프로토콜뿐만 아니라 원격 통신 프로토콜 스택(stack)의 보다 상층 내에 위치하는 프로토콜에 대해서, 프로토콜층(protocol layer)에서의 인터페이스를 포함한다.
JAIN은 자바 플랫폼(Java platform) 및 환경을 위한 통합된 네트워크 API의 세트를 포함하여, JAIN 구성 요소를 PSTN, 패킷(packet) 및 무선 네트워크에 걸쳐서 작동하는 서비스 또는 애플리케이션 내에 설계하고 통합시킨다. JAIN 접근법은, 서비스 기반 로직을 네트워크 기반 로직과 분리시키는 것에 의해서, 유선, 무선 및 패킷 기반 네트워크를 통합한다. 도 1은 종래의 JAIN 구현을 도시한다. 도 1에 도시된 바와 같이, 종래의 JAIN 구현은 IP로의 인터페이스, 유선 및 무선 신호 프로토콜을 포함할 수 있는 프로토콜층(102)을 포함할 수 있다. 오직 TCAP, JCC 및 H.323 프로토콜만을 도시하였으나, JAIN 사양에 의해서 지원되는 프로토콜은 특정한 프로토콜로 한정되지 않으며, 예를 들면, TCAP, ISUP, INAP, MAP, SIP, MGCP 및 H.323을 포함할 수 있다. 또한, JAIN 구현은 접속성 관리(connectivity management) 및 JCC 등의 호출 제어 프로토콜에 대한 인터페이스를 포함할 수 있다.
또한, 프로토콜층(102)에 추가하여, 종래의 JAIN 구현은 보안 네트워크 액세스 및 다른 외부 서비스(120)를 처리하기 위한 애플리케이션층(application layer)(104)을 포함할 수 있다. 또한, 종래의 JAIN 구현은, 서비스 생성 및 캐리어 등급 서비스 로직 실행 환경부(service logic execution environment : SLEE)(108)를 포함할 수 있는 서비스 로직층(service logic layer)(106)을 포함할 수 있다. 서비스 구성 요소(112)는 핵심 JAIN 구성 요소이고, SLEE(108) 내에서 실행될 수 있다. 더 세부적으로는, 서비스 구성 요소(112)는 텔레포니(telephony) 및 네트워크 서비스를 구현할 수 있고, 표준 구성 요소 모델에 따라서 구성될 수 있다. 서비스 구성 요소 어셈블리의 인스턴스는 SLEE(108)와 조합하여 실행된다.
동작 중에, SLEE(108)에 통합될 수 있는 프로토콜층(102)에 관한 정보를 이용하면, 서비스 구성 요소(112)는, 프로토콜 스택(110)에 대한 특정 지식 없이도 하부의 프로토콜 스택(110)과 대화할 수 있다. 더 중요한 점은, SLEE(108)가 트랜잭션(transactions), 지속성(persistence), 부하 균형(load balancing), 보안 및 객체(object)를 위한 휴대형 지원 기능을 제공하는 것에 의해, 서비스 구성 요소(112)의 종래 수명에 대한 책임을 완화시킬 수 있다는 것이다. 이 방식으로, 서비스 구성 요소(112)는 텔레포니 및/또한 네트워크 서비스를 제공하는 데 초점을 맞춘다. 특히, SLEE(110)는 외부 애플리케이션(116), 프로토콜 스택(110) 및 서비스 구성 요소(112) 등과 같은 클라이언트 구성 요소에 직접적으로 통신형으로 링크될 수 있다.
예를 들면, SLEE(108) 내의 서비스 로직층(106)에서 실행되는 서비스 구성 요소(112)는 SLEE(108) 내의 프로토콜 어댑터를 통해서 프로토콜층 내의 프로토콜 스택(110)과 통신할 수 있다. 프로토콜 어댑터는 전형적으로 클래스 메소드(class methods), 콜백(callbacks), 인캡슐화 인터페이스(encapsulating interfaces) 또는 이벤트 핸들러(event handler)를 포함할 수 있다. 많은 경우에, 하부의 프로토콜 스택(110)은, 하부 프로토콜 스택(110)에게 특정되는 이벤트를 특별히 취급하도록 구성될 수 있는 SLEE(108) 내의 이벤트 테이블(event table)(114)을 통해서 SLEE(108)와 직접적으로 통신할 수 있다. 결과적으로, SLEE(108)는 이들 특정 이벤트를 인식할 수 있고, 하부 프로토콜 스택(110)으로부터 이러한 이벤트를 수신하면, SLEE(108)는 가입 서비스 구성 요소(112)로 이벤트를 전달할 수 있다. 또한, 서비스 구성 요소(112)는 관계형 데이터 베이스(relational databases), 디렉토리 서비스(directory services) 등의 지정 외부 서비스(120)와 대화(interact)하도록 개별적으로 프로그래밍될 수 있다.
그러나, JAIN 사양의 명확한 장점에도 불구하고, 종래 JAIN 사양의 구현은, 특히 실시간 텔레포니에 대한 그들의 적용에 있어서 몇몇 단점을 가지고 있다. 첫 번째로, 종래의 JAIN 구현에서의 SLEE는, 예를 들면 수명 책임(lifecycle responsibilities) 등의 불필요한 시스템 관리 단순 작업(housekeeping chores)을 포함하는 EJB(Enterprise Javabean
Figure 112006011009674-pct00001
) 접근법을 도입한다. 그러나, 수명 책임은, 다른 통신 도메인 내에 있을 때만큼 실시간 텔레포니 도메인 내에서도 중요하지는 않다. 그러므로, EJB의 이용은, 실시간 작동의 요구를 만족시키는 데 너무 많은 대기 시간(latencies)을 소요할 수 있다. 추가적으로, 서비스 구성 요소에 있어서 프로토콜 스택의 복잡성을 해소하기 위해서, SLEE는 SLEE와 하부 프로토콜 스택 사이의 통신을 활성화하기 위해서 이용될 수 있는 대응 이벤트 테이블로부터 확인되는 바와 같은 하부 프로토콜 스택의 특정 지식을 필요로 한다. 그러나, SLEE 내의 특정 클라이언트 구성 요소 정보를 포함하는 것은, SLEE에 불필요한 복잡성을 추가시킬 수 있다. 수명 관리 측면에서 이는 문제를 유발할 수 있다. 또한, SLEE 내에 클라이언트 구성 요소 정보를 포함하는 것은, 불필요하게 SLEE를 특정 클라이언트 구성 요소에 직접적으로 결합시킨다. 결국, SLEE를 특정 클라이언트 구성 요소에 직접적으로 결합시키는 것은 애플리케이션층, 프로토콜층 및 서비스 로직층을 서로 컴퓨터 근방에 밀접하게 위치시킬 것을 요구할 수 있다.
또한 SLEE 내의 서비스 구성 요소와 통신하는 것은 외부 애플리케이션에게는 문제를 발생시킬 수 있다. 특히, 외부 애플리케이션은, 외부 애플리케이션과 통신할 수 있는 SLEE 내의 서비스 구성 요소와 프로그램적으로 결합되어 있어야 한다. 이 문제는, 외부 애플리케이션이 인터넷 등의 컴퓨터 통신 네트워크에 걸쳐 분산되어 있는 경우에 더 악화될 수 있다. 따라서, 월드 와이드 웹을 포함하여, 인터넷을 통해 이용가능한 서비스 또는 다른 기능을 통합하기 위한 어떠한 시도도, 분리되고, 독점적인 시스템을 이용하여 구현되어야 한다.
특히, JAIN 사양에 따르면, 무선 서비스 애플리케이션의 개발은 무선 서비스에 액세스하기 위한 여러 다른 종류의 통신 인터페이스 및 프로토콜에 대한 지식을 요구한다. 예를 들면, 현재, 다양한 서로 다른 종류의 통신 프로토콜이 존재하고, 이는 무선 네트워크의 이용을 지원하고 있다. 이들 프로토콜은 GSM(Global System for Mobile Communication), GPRS(General Packet Radio Service), EDGE(Enhanced Data GSM Environment), UTMS(Universal Mobile Telecommunications System), WAP(Wireless Application Protocol), MAP(Mobile Access Protocol) 및 i-Mode를 포함할 수 있다.
무선 서비스 애플리케이션을 개발하기 위해서, 개발자는 무선 서비스에 대응하는 특정 무선 프로토콜 인터페이스 또는 개발될 무선 서비스 애플리케이션에 통합될 기능에 대해 정통해야 한다. 예를 들면, WAP는 무선 장치 통신을 표준화하는 통신 프로토콜의 세트를 위한 사양이다. 그러므로, 휴대형 무선 서비스를 위한 서비스 애플리케이션의 개발자는, 이러한 서비스 애플리케이션을 성공적으로 개발하기 위해서는 적어도 총괄적인 지식을 갖고 있는 것이 필요할 것이다.
이와 유사하게, 무선 휴대형 장치를 통해서 웹 사이트에 대한 대화형 용도(interactive use)를 제공하는 애플리케이션 서비스를 공급하고자 하는 서비스 애플리케이션 개발자는, WAP에 비해서 더 높은 데이터 전송율을 제공할 수 있는 GPRS에 정통할 필요가 있을 것이다. GPRS 및 WAP 등의 솔루션은, 다양한 장치 및 서비스의 상호 운용성(interoperability)을 활성화시킬 뿐만 아니라 독점적인 솔루션의 이용을 최소화할 수 있을 것이다. 또한, 다양한 무선 서비스 애플리케이션을 개발하기 위해서, 개발자는 무선 프로토콜 및 인터페이스의 분류에도 정통해야 한다. 따라서, 서로 다른 무선 통신 프로토콜 및 인터페이스를 이용하는 데 필요한 전문성을 갖는 사람의 수는 제한될 것이다.
무선 서비스 애플리케이션을 개발하는 데 있어서 직면한 문제점들과 유사하게, 원격 통신 서비스 애플리케이션의 개발에서도, 서비스 애플리케이션 및 기능에 액세스하기 위해서는 여러 가지의 상이한 통신 인터페이스 및 프로토콜에 대한 지식을 필요로 한다. 예를 들면, 호출 차단(call blocking) 및 호출 전달(call forwarding) 등의 서비스 애플리케이션은, 호출 모델에 액세스하기 위한 서비스 구성 요소에 추가하여, 정보에 액세스하여 호출 모델을 구현하는 디렉토리 서비스 또는 다른 독점 데이터베이스로의 액세스를 필요로 할 수 있다. 그러나, 디렉토리 서비스로의 액세스는 LDAP(lightweight directory access protocol)에 대한 특별한 지식을 필요로 할 수 있다. 비교해 보면, 임의의 특정한 데이터베이스로의 액세스는 DB2, MQSeries, 또는 다른 독점 데이터베이스 액세스 프로토콜에 대한 지식을 필요로 할 수 있다.
전형적으로, 특정한 프로토콜을 사용하여 무선 애플리케이션을 구현하는 데 필요한 지식은 매우 전문화되어 있어서, 오직 한 사람만이 주어진 조직 내에서 필요한 전문성을 가지고 있을 수 있다. 이 인원과 관련된 딜레마는 때때로, 하나의 특정한 무선 포맷에 대해 솔루션이 개발될 때마다, 해당 솔루션이 서로 다른 무선 포맷 또는 프로토콜에 대해 용이하게 포트 오버(ported over)되지 않는 다는 것을 의미한다. 더욱이, 프로그래밍 전문가는 매우 고도로 전문화될 수 있기 때문에 서비스 애플리케이션을 다른 포맷 또는 프로토콜로 포팅(porting)하는 것은 전형적으로 목표 포맷 또는 프로토콜 내에서의 전문성을 소유하는 추가적인 인원을 필요로 한다.
그러므로, 고도로 전문화된 특성의 텔레포니 서비스 애플리케이션 개발은 증가된 개발 비용 및 더 긴 설계 주기를 초래할 수 있다. 또한, 그에 포함된 복잡성은 시스템, 피쳐 및 애플리케이션의 리사이클링 및 관리를 매우 어렵게 만든다. 예를 들면, 특정 서비스 기능에 액세스하기 위한 프로토콜 및 로직은, 개발될 서비스 애플리케이션 내에 포함되고, 하부 프로토콜에 대한 어떠한 변화도 전체 서비스 애플리케이션에 대한 재프로그래밍(reprogramming)을 필요로 할 것이다. 요약하면, 고도로 전문화된 속성의 무선 서비스 애플리케이션 개발은 개발 비용을 증가시키고 설계 주기를 더 길게 하는 결과를 초래할 수 있다. 또한, 그에 포함된 복잡성은 시스템, 피쳐 및 애플리케이션의 리사이클링을 매우 어렵게 만든다. 그러므로, 통합된 네트워트 서비스 제공자를 위한 더 플렉서블한 서비스 애플리케이션 구조가 필요하다.
Broadsoft Inc.에 의한 WO 01/28186A에는 서비스 주체(service entities), 인터페이스 주체 및 서비스 버스(service bus)를 포함하는 서비스를 제공하는 시스템에 대해서 개시되어 있다. 서비스 버스는 인터페이스 개체와 서비스 개체를 결합시키고, 인터페이스 개체와 서비스 개체 사이에서 이벤트를 전달시킨다.
제 1 측면에 따르면 본 발명은, 클라이언트 구성 요소와 서비스 구성 요소 사이에서 이벤트를 라우팅하기 위한 이벤트 핸들러(event handler)를 포함하는 서비스 로직 실행 환경부(SLEE)와, 이벤트 핸들러를 통해서 SLEE 내의 다른 서비스 구성 요소에 이벤트를 전달하고 수신하도록 구성된 적어도 하나의 클라이언트 구성 요소와, 이벤트 핸들러를 통해서 SLEE 내의 다른 서비스 구성 요소에 이벤트를 전달하고 수신하도록 구성된 인터넷 가능 서비스 구성 요소(internet enabled service component : IESC)-이 IESC는 SLEE 외부의 서버측 프로그램에 통신가능하게 링크되어 있음-를 포함하는 애플리케이션 실행 환경부를 제공한다.
바람직하게는, 애플리케이션 실행 환경부는 SLEE 내에서 실행되는 적어도 하나의 일반 서비스 구성 요소(generic service component)를 더 포함한다. 일반 서비스 구성 요소는 SLEE 내의 다른 서비스 구성 요소와 통신하도록 구성될 수 있다. 또한, 일반 서비스 구성 요소는 애플리케이션층 내의 특정 외부 서비스와 통신하도록 구성될 수 있다.
바람직하게는, 애플리케이션 실행 환경부는 SLEE 내에서 실행되는 적어도 하나의 텔레포니 구성 요소를 더 포함하며, 텔레포니 구성 요소는 SLEE 내의 이벤트 라우팅 버스를 통해서 프로토콜층 내의 클라이언트 구성 요소 및 서비스 로직층 내의 다른 서비스 구성 요소와 통신하도록 구성된다.
바람직하게는, 커넥터/래퍼 인터페이스는 프로토콜층 내의 클라이언트 구성 요소에 대해 추상화된 인터페이스(abstracted interface)를 제공하는 클라이언트 구성 요소 래퍼(client component wrapper)와, SLEE와 연관되어 클라이언트 구성 요소 래퍼에 대응되는 커넥터-클라이언트 구성 요소 래퍼에 의해서 공급된 추상화 인터페이스를 통해서 클라이언트 구성 요소와 통신하도록 구성됨-을 포함한다.
바람직하게는, 애플리케이션 실행 환경부는, 커넥터/래퍼 인터페이스를 통해서 SLEE와 통신하도록 구성될 수 있는 적어도 하나의 클라이언트 구성 요소를 지정하는 SLEE 기술자(descriptor)를 더 포함한다.
바람직하게는, 애플리케이션 실행 환경부는, 프로토콜층 내의 지정 클라이언트 구성 요소에 각각 대응되는 적어도 하나의 클라이언트 구성 요소 기술자를 더 포함하며, 적어도 하나의 클라이언트 구성 요소 기술자는, 지정 클라이언트 구성 요소가 SLEE 내의 이벤트 라우팅 버스에 의해서 통지받을 수 있는 특정 이벤트를 지정한다.
바람직하게는, 클라이언트 구성 요소는 프로토콜 스택이다. 이와 다르게, 클라이언트 구성 요소는 호출 제어 구성 요소, 시그널링 프로토콜 구성 요소(signalling protocol component), 접속 관리 프로토콜 구성 요소 또는 보안 네트워크 액세스 프로토콜 구성 요소가 될 수 있다.
바람직하게는, SLEE는 JAIN-컴플라이언트(compliant) SLEE이다.
바람직하게는, SLEE는 SLEE 내에 서비스 구성 요소를 로딩(loading)하기 위 한 클래스 로더(class loader)를 더 포함하고, SLEE는 각각의 로딩된 서비스 구성 요소에 등록하여 특정 등록된 서비스 구성 요소로 지정된 이벤트를 수신하며, 상기 이벤트 라우팅 버스는 SLEE 내에서 실행되는 특정한 등록된 서비스 구성 요소에 대해 상기 수신된 이벤트를 라우팅시킨다.
바람직하게는, SLEE는 스레드 풀(thread pool) 및 로딩된 서비스 구성 요소에 의해 이용되도록 스레드를 배치하는 스레드 풀 관리자(thread pool manager)를 더 포함한다.
제 2 측면에 따르면, 본 발명은 텔레포니 서비스 제공 방법을 제공하는 것으로서, 서비스 로직 실행 환경부(SLEE) 내의 이벤트 라우팅 버스 내에서는, 커넥터/인터페이스 래퍼를 통해서 프로토콜층 이벤트를 클라이언트 구성 요소로부터 수신하는 단계와, 서비스 로직층 이벤트를 SLEE 내에서 실행되는 서비스 구성 요소로부터 수신하는 단계와, 특정한 프로토콜층 이벤트 및 서비스 로직층 이벤트를 특정한 프로토콜층 및 서비스 로직층 이벤트를 수신하도록 등록된 서비스 구성 요소 및 클라이언트 구성 요소에 전달하는 단계를 포함하고, SLEE 내에서 실행되는 적어도 하나의 서비스 구성 요소 내에서는, 적어도 하나의 서비스 로직층 이벤트를 이벤트 라우팅 버스로 전달하는 단계-여기에서, 이벤트 라우팅 버스는 전달된 서비스 로직층 이벤트를, 전달된 서비스 로직층 이벤트를 수신하도록 등록된 다른 서비스 구성 요소에 전달할 수 있음-와, 다른 서비스 구성 요소로부터 서비스 로직층 이벤트를 수신하는 단계와, 다른 서비스 구성 요소로부터 서비스 로직층 이벤트를 수신하는 것에 응답하여, 서버측 프로그램에 통신가능한 링크를 제공하는 단계를 포함한다.
삭제
제 3 측면에 따르면, 본 발명은 텔레포니 서비스를 제공하는 컴퓨터 프로그램을 저장한 머신 판독 가능 저장 장치(machine readable storage)를 제공하며, 이 컴퓨터 프로그램은, 머신이 제 2 측면에 따라 이 방법을 수행하게 하는 머신에 의해서 수행 가능한 프로그램 코드(program code)를 갖는다.
제 4 측면에 따르면, 본 발명은 고급 지능형 네트워크를 제공하는 것으로서, 고급 지능형 네트워크는, 클라이언트 구성 요소와 서비스 구성 요소 사이에서 메시지를 라우팅하기 위한 이벤트 핸들러를 포함하는 이벤트 로직 실행 환경부(SLEE)와 이벤트 핸들러를 통해서 SLEE 내의 다른 서비스 구성 요소에 메시지를 송신하고 수신하도록 구성되어 SLEE 내에서 실행되는 적어도 하나의 IESC(Internet enabled service component)-IESC는 SLEE의 외부의 서버측 프로그램에 통신형으로 링크됨-을 포함한다.
본 발명의 제 5 측면에 따르면, 본 발명은 지능형 네트워크 모델 내에 서비스 로직 실행 환경부(SLEE)를 제공하는 것으로, SLEE는, 각각의 로딩된 서비스 구성 요소에 등록하여 특정한 등록된 서비스 구성 요소에 공급된 이벤트를 수신하는 SLEE 내에서 서비스 구성 요소를 로딩하기 위한 클래스 로더와, 프로토콜층 및 다른 서비스 구성 요소로부터 이벤트를 수신하는 이벤트 라우팅 버스-이벤트 라우팅 버스는 SLEE 내에서 실행되는 특정한 등록된 서비스 구성 요소에 대해 수신된 이벤트를 라우팅시킴-을 포함한다.
본 발명의 제 6 측면에 따르면, 본 발명은 지능형 네트워크를 위한 애플리케이션 실행 환경부를 제공하는 것으로서, 애플리케이션 실행 환경부는, 특정 클라이언트 구성 요소에 추상화된 인터페이스를 제공하는 적어도 하나의 클라이언트 구성 요소 래퍼에 있는 서비스 로직 실행 환경부(SLEE)와, 적어도 하나의 클라이언트 구성 요소 래퍼에 대응되고, SLEE와 연관되는 적어도 하나의 커넥터-여기에서, 커넥터는 적어도 하나의 클라이언트 구성 요소 래퍼와의 대응에 의해서 제공된 추상화된 인터페이스를 통해서 클라이언트 구성 요소와 통신하도록 구성됨-을 포함한다.
제 7 측면에 따르면, 본 발명은 무선 서비스에 이용하기 위한 고급 지능형 네트워크를 제공하는 것으로서, 고급 지능형 네트워크는, 서비스 로직 실행 환경부(SLEE)와, SLEE 내에서 실행되는 적어도 하나의 서비스 애플리케이션과, 서비스 애플리케이션과 통신가능하게 링크된 무선 서비스 애플리케이션에 이용하기 위한 적어도 하나의 일반 서비스 구성 요소-일반 서비스 구성 요소는 SLEE에 대해 외부에 있는 무선 서비스 애플리케이션으로의 인터페이스를 포함함-을 포함한다.
제 8 측면에 따르면, 본 발명은 호출 모델에 이용하기 위한 고급 지능형 네트워크를 제공하고, 고급 지능형 네트워크는, 서비스 로직 실행 환경부(SLEE)와, SLEE 내에서 실행되는 적어도 하나의 서비스 애플리케이션과, 서비스 애플리케이션에 통신가능하게 링크된 일반 서비스 구성 요소-일반 서비스 구성 요소는 SLEE에 대해 외부에 있는 제 2 서비스 애플리케이션으로의 인터페이스를 포함함-을 포함한다.
제 9 측면에 따르면, 본 발명은 지능형 네트워크를 위한 데이터 프로세싱 시스템을 제공하며, 데이터 프로세싱 시스템은 서비스 로직 실행 환경부(SLEE)를 포함하는 서비스 로직층과, 커넥터/래퍼 인터페이스를 통해서 SLEE-여기에서, SLEE는 서비스 로직층 내의 서비스 구성 요소와 프로토콜층 및 애플리케이션층 내의 클라이언트 구성 요소 사이에서 이벤트를 라우팅하기 위한 이벤트 라우팅 버스를 포함함-에 통신가능하게 링크된 적어도 하나의 클라이언트 구성 요소를 포함하는 프로토콜층과, SLEE 내의 이벤트 라우팅 버스를 통해서 프로토콜층 내의 클라이언트 구성 요소 및 서비스 로직층 내의 다른 서비스 구성 요소와 통신하도록 구성되고 SLEE 내에서 실행되는 적어도 하나의 텔레포니 구성 요소를 포함한다.
그러므로, 본 발명은 통합된 네트워크 서비스 제공자를 위한 플렉서블한 서비스 애플리케이션 아키텍쳐를 제공한다. 본 발명은 서비스 구성 요소에 의해 이벤트에 대한 보다 직접적인 프로세싱을 제공하고, 서비스 로직 실행 환경부(SLEE) 내에 포함된 프로토콜 스택 지정 코드를 감소시키는 것에 의해서 종래 기술의 단점을 극복한다. 추가적으로, 본 발명은 SLEE로부터 지정 클라이언트 구성 요소 정보를 제거하고, 그것을 커넥터/래퍼 통신 인터페이스에 치환하는 것에 의해서 종래 기술의 단점을 해결한다. 결과적으로, SLEE는 하부 클라이언트 구성 요소의 구현 세부사항에 관계없이 커넥터/래퍼 인터페이스를 통해서 통신을 총괄적으로 송신하고 수신할 수 있다. 그러므로, 본 발명에 따르면, SLEE의 복잡성을 감소시킬 수 있다. 또한, 본 발명에 따라 구성된 SLEE는 특정 클라이언트 구성 요소에 대해 직접적으로 한정될 필요는 없다.
바람직하게는, 본 발명의 아키텍쳐는 SLEE 내에서 실행되는 다른 서비스 구성 요소로의 일반 인터페이스를 제공하면서 특정 외부 서비스와 통신하도록 구성될 수 있다. 이러한 방식으로, 예를 들면 텔레포니 서비스 구성 요소 등과 같은 SLEE 내에서 실행되는 서비스 구성 요소는, 일반 서비스 구성 요소로부터의 데이터베이스 작동 등과 같은 외부 서비스를 총괄적으로 리퀘스트할 수 있다. 외부 서비스에 대한 일반 리퀘스트를 수신하는 것에 응답하여, 리퀘스트하는 텔레포니 서비스 구성 요소에 대해 리퀘스트된 외부 서비스를 제공하기 위해서, 일반 서비스 구성 요소는 대응되는 특정 외부 서비스에만 특별히 하나이상의 기능을 호출할 수 있다. 결과적으로, 텔레포니 서비스 구성 요소는 특정 외부 서비스로 지정된 특정 코드를 통합시킬 필요가 없다. 오히려, 오직 일반 서비스 구성 요소만이, 특정 외부 서비스로 지정된 특정 코드를 통합할 필요가 있다. 그러므로, 텔레포니 서비스 구성 요소의 복잡성을 감소시킬 수 있다.
다음으로, 첨부된 도면에서 도시된 바와 같이, 본 발명의 바람직한 실시예를 참조하여 오직 예로서 본 발명을 설명할 것이다.
도 1은 종래 기술에서 알려진 종래의 JAIN 구현에 따라서 구성된 지능형 네트워크 아키텍쳐의 개략적인 설명도,
도 2는 서비스 로직 실행 환경부(SLEE)를 포함하는 지능형 네트워크 아키텍쳐의 개략적인 설명도,
도 3은 도 2의 SLEE 내에서의 실행을 위해서 구성된 텔레포니 서비스 구성 요소의 세부적인 도면,
도 4는 도 2의 SLEE 내에서의 실행을 위해서 구성된 일반 서비스 구성 요소의 세부적인 도면,
도 5는 도 2의 지능형 네트워크 아키텍쳐의 애플리케이션층 내에서 서비스 애플리케이션에 액세스하도록 구성된 일반 서비스 구성 요소의 집합에 대한 블록도,
도 6은 커넥터/래퍼 인터페이스를 통해서, 클라이언트 구성 요소와 도 2의 SLEE 사이의 통신 링크를 설정하는 방법을 나타내는 흐름도.
본 발명은 통합된 네트워크 서비스 제공자를 위한 플렉서블한 서비스 애플리케이션 아키텍쳐이다. 이 아키텍쳐는 프로토콜층, 서비스 로직층 및 애플리케이션층을 가질 수 있으므로, 이 아키텍쳐는 AIN(advanced intelligent network) 아키텍쳐와 유사할 수 있다. 본 발명의 장치에 따르면, 본 발명의 아키텍쳐는 서비스 로직층 내에 서비스 로직 실행 환경부(SLEE)를 포함할 수 있다. 특히, SLEE는 JAIN-컴플라이언트 SLEE일 수 있다. SLEE는 서비스 로직층 내의 서비스 구성 요소와 프로토콜층 및 애플리케이션층 내의 클라이언트 구성 요소 사이에서 이벤트를 라우팅하기 위한 이벤트 라우팅 버스를 포함할 수 있다. 특히, SLEE 내에서 실행되는 텔레포니 서비스 구성 요소는, SLEE 내의 이벤트 라우팅 버스를 통해서 프로토콜층 내의 클라이언트 구성 요소 및 서비스 로직층 내의 다른 서비스 구성 요소와 통신하도록 구성될 수 있다. 결국, 클라이언트 구성 요소는 커넥터/래퍼 인터페이스를 통해서 SLEE에 통신형으로 링크될 수 있다.
본 발명의 바람직한 실시예에 따라서 구성된 SLEE의 통합은 서비스 구성 요소간의 이벤트 통신을 촉진할 수 있는 이벤트 라우팅 버스를 제공하는 것에 의해 종래 기술의 단점을 해결하는 것을 돕는다. 보다 직접적인 이벤트 통신을 제공하는 것에 의해서, JAIN 사양의 EJB 접근 방식과 연관된 고유의 지연(latencies)을 감소시킬 수 있다. 또한, 서비스 구성 요소가, SLEE를 거쳐 프로토콜 스택 등의 클라이언트 구성 요소로부터 수신된 이벤트를 수신하고 프로세싱만 할 수 있는 SLEE의 종래 구현과는 다르게, 본 발명의 바람직한 실시예에 있어서는, 서비스 구성 요소가 다른 서비스 구성 요소로부터도 이벤트를 수신하고 프로세싱할 수 있다. 그러므로 서비스 구성 요소의 발전된 조합을 생성하여 마이크로 서비스 구성 요소를 형성할 수 있다.
또한, 서비스 구성 요소는 특정 프로토콜 스택의 특정한 지식을 포함하도록 설계될 수 있다. 결과적으로, 특정 프로토콜 스택의 특정 지식은 SLEE로부터 제거될 수 있고, 그에 따라 SLEE의 복잡성을 감소시킨다. 그 결과, 본 발명의 바람직한 실시예의 SLEE에서, 서비스 구성 요소가 추가된 프로토콜 스택의 특정 지식을 포함하도록 생성될 수 있기 때문에, SLEE의 재코딩(re-coding)을 필요로 하지 않으 면서 지능형 네트워크에 새로운 프로토콜 스택을 추가할 수 있다. SLEE에 동적으로 삽입되면, 이벤트 라우팅 버스를 거쳐서 삽입된 서비스 구성 요소를 통해 다른 서비스 구성 요소가 새로운 프로토콜 스택에 액세스할 수 있다. 서비스 구성 요소 간 통신이 이루어질 수 없는 종래 기술의 지능형 네트워크와는 다르게, 본 발명의 바람직한 실시예에서는, 새로운 프로토콜 스택의 단순화된 추가가 이루어질 수 있게 하는 서비스 구성 요소 간 통신이 가능하다.
또한 본 발명의 아키텍쳐는 SLEE를 프로토콜층 내의 클라이언트 구성 요소에 통신형으로 링크하기 위한 커넥터/래퍼 인터페이스를 포함할 수 있다. 또한 SLEE와 프로토콜층 내의 클라이언트 구성 요소 사이의 커넥터/래퍼 인터페이스는, 클라이언트 구성 요소를 SLEE에 대해 단단히 고정시키지 않으면서 특정 클라이언트 구성 요소에 대해 일반 인터페이스를 통한 구성 가능한 접속을 제공하는 것에 의해 종래 기술의 결함을 해결하는 것을 도울 수 있다.
SLEE와 통신하는 클라이언트 구성 요소에 직접적으로 결합하는 SLEE의 종래 구현과는 다르게, 본 발명의 바람직한 실시에에서는, SLEE 및 클라이언트 구성 요소가 반드시 서로 근접하게 위치되어야 하는 것은 아니다. 오히려, 필요하다면, SLEE 및 클라이언트 구성 요소가 네트워크를 거쳐서 위치될 수 있다. 이 방식으로, 수명 관리 도중에 SLEE의 유지 및 증대를 촉진시킬 수 있는 클라이언트 구성 요소 및 SLEE 사이의 보다 융통적인 연관을 가능하게 한다. 또한, 특정 클라이언트 구성 요소에 대한 특정한 지식은 SLEE로부터 제거되어 그 대신에 클라이언트 구성 요소로의 인터페이스 내부에 포함될 수 있다. 그 결과로, SLEE의 복잡성을 줄 일 수 있다.
결국, 본 발명의 바람직한 실시예는 특정 외부 서비스에 추상화된 인터페이스를 제공하는 일반 서비스 구성 요소를 포함한다. 더 세부적으로는, 각 일반 서비스 구성 요소가 특정 외부 서비스의 특정한 구현에 대한 인식을 유지할 수 있는 한편, 다른 서비스 구성 요소, 특히 SLEE 내에서 실행되는 텔레포니 서비스 구성 요소는 대응되는 특정 외부 서비스의 특정한 구현에 대한 지식 없이 일반 서비스 구성 요소의 외부 서비스를 총괄하여 리퀘스트할 수 있다. 이 방식으로, 서비스 구성 요소의 복잡성이 감소되고, 서비스 구성 요소는 외부 서비스의 특정 구현으로부터 분리(de-coupled)될 수 있다.
도 2는 본 발명의 바람직한 실시예에 따라서 구성된 JAIN-컴플라이언트 지능형 네트워크의 개략적인 도면이다. JAIN-컴플라이언트 네트워크는 프로토콜층(202), 애플리케이션층(205) 및 서비스 로직층(207)을 포함하도록 구성될 수 있다. 애플리케이션층(205)은 호스트 외부 제 3 자 애플리케이션(208)일 수 있다. 전형적인 제 3 자 애플리케이션(208)은 VPNs(virtual private networks), 인바운드 서비스(inbound services) 및 단일화 메시지(unified messaging) 등의 서비스에 대한 대량 판매 요구를 만족시킬 수 있다. 또한 외부 제 3 자 애플리케이션(208)은, 본 기술 분야에서 공지된 데이터베이스 룩업 인터페이스, 다운로드 가능 메카니즘, 전환 API(parlay API) 등의 비신뢰성(un-trusted) 애플리케이션 공간 배치 기법을 이용하여 배치될 수 있는 일시적인 니치 애플리케이션(niche applications)을 포함할 수 있다. 결국, 데이터베이스 서비스, 디렉토리 서비스 및 무선 서비스 등과 같은 특정 외부 서비스(220)가 애플리케이션층(205)에 포함될 수 있다.
서비스 로직층(207)은 JAIN 사양과 부합하도록 구성될 수 있는 JSLEE 서버(200) 등의 SLEE 서버를 포함할 수 있다. 중요한 점은, JSLEE 서버(200)가 이벤트 라우팅 버스(218)를 포함할 수 있다는 것이다. 이벤트 라우팅 버스(218)는 서비스 구성 요소(203, 204, 205) 사이에서 메시지를 수신하고 송신할 수 있다. 특히, 서비스 구성 요소(203, 204, 205)는 이벤트 라우팅 버스(218)로 메시지를 전달하도록 구성 될 수 있고, 서비스 구성 요소(203, 204, 205)는 JSLEE 서버(200)에 등록하여 이들 전송된 이벤트를 다른 서비스 구성 요소(203, 204, 205)로부터 수신할 수 있다. 이 방식으로 서비스 구성 요소 간 통신이 이루어질 수 있다. 또한, 서비스 구성 요소(203, 204, 205)는 이벤트 라우팅 버스(218)를 거쳐서 외부 애플리케이션(208)으로부터 이벤트를 수신하도록 구성될 수 있다. 또한, 외부 애플리케이션(208)으로부터 수신되고 이벤트 버스(208)로 전송된 이벤트는 이들 이벤트를 수신하도록 등록된 다른 서비스 구성 요소(203, 204, 205)에 대해 라우팅될 수 있다.
서비스 구성 요소(203, 204, 205)는 텔레포니 서비스 구성 요소(204), 일반 서비스 구성 요소(203) 및 인터넷 서비스 구성 요소(205)를 포함할 수 있다. 도 3은 도 2의 JSLEE 서버(200) 내에서 이용되도록 구성된 텔레포니 서비스 구성 요소(204)의 개략적인 설명도이다. 도 3에 도시된 바와 같이, 텔레포니 서비스 구성 요소(204)는 하나 이상의 서비스 인스턴스(service instance)(302)를 포함할 수 있다. 서비스 인스턴스(302)는 JSLEE(200)에서 실행될 수 있는 개별적으로 인스턴 스화된 서비스이다. 보다 중요한 점은, 각 서비스 인스턴스(302)는 이벤트 라우팅 버스(218)에 등록하여 프로토콜층(202)뿐만 아니라 다른 텔레포니 및 일반 서비스 구성 요소(203, 204, 205)에 대해 이벤트를 수신하고 송신한다는 것이다.
각 서비스 인스턴스(302)는 서비스 인스턴스 구현의 세부를 고립시키는 서비스 래퍼(306)를 통해서 액세스될 수 있다. 보다 세부적으로, 서비스 클래스의 데이터 및 메소드 멤버는 서비스 래퍼(306) 내에 포함된 일반 인터페이스를 통해서 액세스될 수 있다. 또한, 배치 기술자(deployment descriptor)(310)를 제공할 수 있다. 배치 기술자(310)는, JSLEE 서버(200) 내의 서비스 구성 요소(302)의 인스턴스를 초기에 로딩하기 위한 적절한 파라미터를 기술할 수 있는 문서(예를 들면 XML 문서 등)일 수 있다. 특히, 서비스 래퍼(306)에 대한 인터페이스는 예를 들면 XML 문서의 부분으로서 포함될 수 있는 서비스 인터페이스(308)를 통해서 외부 대상으로 발행될 수 있다. 이와 유사하게, 각 서비스 인스턴스(302)로의 인터페이스는, 예를 들면 XML 문서의 일부로서 발행될 수 있는 컨텍스트 인터페이스(context interface)(304)의 일부로서 포함될 수 있다. 로딩되면, 서비스 인스턴스(302)는 JSLEE 서버(200) 내의 이벤트 라우팅 버스(218)를 거쳐 통신할 수 있다.
독점적 및 상관적 데이터베이스 서비스 및 디렉토리 서비스 등과 같은 특정 외부 서비스(220)에 액세스하기 위해 텔레포니 서비스 구성 요소(204) 내에 코드를 포함하는 것을 피하기 위해서, 일반 서비스 구성 요소(203)가 본 발명의 아키텍쳐에 통합될 수 있다. 일반 서비스 구성 요소(203)는 추상형 인터페이스를 특정 외부 서비스(220)에 제공할 수 있고, 다른 서비스 구성 요소(203, 204, 205)로부터의 일반 리퀘스트에 특정하게 응답하여 특정 외부 서비스(220)와 대화할 수 있다. 특히, 일반 서비스 구성 요소(203)는 무선 서비스, 디렉토리 서비스, 데이터베이스 서비스 또는 메시지 서비스 등의 서비스 애플리케이션에 액세스하기 위한 공통 API를 제공할 수 있다.
사실상, 일반 서비스 구성 요소(203)는 서로 다른 서비스 애플리케이션용으로 설계될 수 있다. 또한, 일반 서비스 구성 요소(203)는 서비스 애플리케이션에 의해서 이용되는 서로 다른 프로토콜용으로 설계될 수 있다. 그러므로, 도 2에 도시된 바와 같이, 복수의 일반 서비스 구성 요소(203)를 포함하여, 각각을 서비스 애플리케이션 또는 프로토콜에 대응시킬 수 있다. 예를 들면, 서로 다른 일반 서비스 구성 요소(203)는 LDAP, DB2 및 MQSeries 기반 서비스 또는 기능을 위해서 설계될 수 있다. 이와 유사하게, 서로 다른 일반 서비스 구성 요소(203)는 GSM(Global System for Mobile Communication), GPRS(General Packet Radio Service), EDGE(Enhanced Data GSM Environment), UTMS(Universal Mobile Telecommunications System), WAP, MAP(Mobile Access Protocol) 및 i-Mode를 활용하는 등의 무선 서비스 애플리케이션에 액세스하도록 설계될 수 있다. 그러므로, 일반 서비스 구성 요소(203)의 주입은 특히, 텔레포니 서비스 구성 요소(204) 등의 다른 서비스 구성 요소를, 특정 외부 서비스(220)와 통신하기 위해 특정 구성과 통합시키는 것을 해제할 수 있다.
도 4는 도 2의 JSLEE 서버(200) 내에서 사용되도록 구성된 일반 서비스 구성 요소(203)의 개략적인 설명도이다. 도 4에 도시된 바와 같이, 일반 서비스 구성 요소(203)는 하나 이상의 일반 서비스 인스턴스(402)를 포함할 수 있다. 도 3의 텔레포니 서비스 인스턴스(302)와 유사하게, 도 4의 일반 서비스 인스턴스(402)는 JSLEE(200) 내에서 실행될 수 있는 개별적으로 인스턴스화된 일반 서비스이다. 더 중요한 점은, 각 일반 서비스 인스턴스(402)가 이벤트 라우팅 버스(218)에 등록하여, 서비스 로직층(207) 내의 다른 서비스 구성 요소(203, 204, 205)로부터 이벤트를 수신하고 송신할 수 있다는 것이다. 텔레포니 서비스 구성 요소(204)의 경우에서와 같이, 각 일반 서비스 인스턴스(402)는 서비스 인스턴스 구현의 상세를 고립시키는 일반 서비스 래퍼(406)를 통해서 액세스할 수 있다. 보다 세부적으로, 서비스 클래스의 데이터 및 메쏘드 멤버는 일반 서비스 래퍼(406) 내에 포함된 공통 인터페이스를 통해서 액세스될 수 있다.
또한 배치 기술자(410)를 제공할 수 있다. 배치 기술자(410)는 예를 들면 XML 문서 등의 문서로서, JSLEE 서버(200) 내의 일반 서비스 구성 요소(402)의 인스턴스를 초기에 로딩하기 위한 적절한 파리미터를 기술할 수 있다. 특히, 일반 서비스 래퍼(406)로의 인터페이스는, 예를 들면 XML 문서의 일부분으로서 포함될 수 있는 일반 서비스 인터페이스(408)를 통해서 외부 대상으로 발행될 수 있다. 이와 유사하게, 각 서비스 인스턴스(402)로의 인터페이스는, 또한 예를 들면, XML 문서의 일부로서 출력될 수 있는 컨텍스트 인터페이스(404)의 일부로서 포함될 수 있다. 로딩되면, 일반 서비스 인스턴스(402)는 JSLEE 서버(200) 내의 이벤트 라우팅 버스(218)를 거쳐서 통신할 수 있다.
도 5는 본 발명의 바람직한 실시예에 있어서 JAIN 컴플라이언트 지능형 네트워크 내의 일반 서비스 구성 요소(502A, 502B, 502C, 502D, 502E, 502F)의 예시적인 배치를 나타내는 단순화된 도식적 설명도이다. 도 5에 도시된 바와 같이, 각 일반 서비스 구성 요소(502A, 502B, 502C, 502D, 502E, 502F)는 서비스 래퍼(506) 및 하나 이상의 클라이언트 서비스 인스턴스(502)를 포함할 수 있다. 서비스 래퍼(506)는 JSLEE 서버(200)에 등록하여 서비스 애플리케이션(530)에 대응되는 특정 타입의 이벤트를 수신할 수 있다. 따라서, 서비스 래퍼(506)는 특정 프로토콜에 따라서 수신된 이벤트를 해석하고 그 이벤트를 재포맷(reformat)하는 데 필요한 기능을 포함할 수 있다. 재포맷된 이벤트는 특정한 무선 서비스 애플리케이션에 라우팅될 수 있다. 서비스 래퍼(506)는 특정한 트랜잭션 또는 하나 이상의 이벤트를 프로세싱하기 위한 클라이언트 서비스 인스턴스(502)를 인스턴스화할 수 있다. 또한, 클라이언트 서비스 인스턴스(502)는 서비스 애플리케이션(502A, 502B, 502C, 502D, 502E, 502F) 중의 하나와 통신하도록 인스턴스화될 수 있다.
도 5에 도시된 바와 같이, 예시적인 일반 서비스 구성 요소(502A, 502B, 502C, 502D, 502E, 502F)는, WAP 일반 서비스 구성 요소(502A), EDGE 일반 서비스 구성 요소(502B), GPRS 일반 서비스 구성 요소(502C), LDAP 일반 서비스 구성 요소(502D), DB2 일반 서비스 구성 요소(502E) 및 MQSeries 일반 서비스 구성 요소(502F)를 포함할 수 있으나, 여기에 한정되지 않는다. 예를 들면, WAP 일반 서비스 구성 요소(502A)의 일부로서의 서비스 래퍼(506)는, JSLEE 서버에 등록하여 무선 휴대형 장치 등의 무선 장치와 관련된 무선 이벤트를 수신할 수 있다. 도 5에 도시된 바와 같이, 서비스 래퍼(506)는 각 수신된 이벤트에 대해서 하나씩, 또 는 WAP 기반의 무선 서비스 애플리케이션과 연관된 트랜잭션을 포함하는 일련의 이벤트에 대해서 하나씩, 인스턴스화된 3개의 클라이언트 서비스 인스턴스(502)를 갖는다. 이와 다르게, 단일 클라이언트 서비스 인스턴스(502)가 복수의 트랜잭션을 처리할 수 있다. 그러므로, 각 클라이언트 서비스 인스턴스(502)는 WAP 기반의 서비스 애플리케이션(530A)과 대화할 수 있다.
이와 유사하게, EDGE 일반 서비스 구성 요소(502B) 및 MQSeriese 일반 서비스 구성 요소(502F)는 각각 서비스 래퍼 및 EDGE 기반의 무선 서비스 애플리케이션(530B) 및 MQSeries 메세지 큐(message queue) 서비스 애플리케이션(530F)과 제각기 대화하기 위한 하나 이상의 클라이언트 서비스 인스턴스를 포함할 수 있다. 일반 서비스 구성 요소는, 필요에 따라서, 독점적인 인터페이스 및 프로토콜을 이용하는 독점적인 데이터베이스 및 무선 서비스를 포함하는 임의의 서비스 애플리케이션으로 구성될 수 있다는 것을 인식해야 한다.
도 2로 되돌아가서, 텔레포니 및 일반 서비스 구성 요소(203, 204)와는 다르게, 인터넷 가능 서비스 구성 요소(205)는, 서블렛(servlet) 또는 스크립트(script) 등의 외부 서버측 프로그램과 통신하도록 사전 구성될 수 있다. 서버측 프로그램의 예에는, CGI(Common Gateway Interface), 펄 스크립트(Perl scripts), JavaTM 서버 페이지, VB 스크립트, 액티브 서버 페이지(Active Server PagesTM), 또는 다른 스크립트 기법이 포함되지만, 이것으로 한정되지는 않는다. 외부 애플리케이션(232)이 인터넷 가능 서비스 구성 요소(205)에 대한 액세스를 획 득하면, 인터넷 가능 서비스 구성 요소(205)는 외부 애플리케이션(232)에, 서비스 구성 요소(203, 204, 205)가 서로 통신할 수 있게 하는 JSLEE 서버(200) 내의 이벤트 라우팅 버스(218)로의 액세스를 제공할 수 있다.
이 메카니즘을 통해서, JSLEE 서버(200) 내에서 실행되는 서비스 구성 요소(203, 204, 205)도 인터넷 가능 서비스 구성 요소(205)와 통신할 수 있다. 그러므로, 인터넷 가능 서비스 구성 요소(205)가 인터넷 등의 컴퓨터 통신 네트워크 내의 웹 서버(230)와 연관되어 실행될 수 있는 서버측 프로그램(232)에 통신형으로 링크될 수 있기 때문에, JSLEE 서버(200) 내의 다른 서비스 구성 요소(203, 204)는 인터넷 가능 서비스 구성 요소(205)를 활용하여, 인터넷을 거쳐 정보를 송신하고 수신할 수 있다. 또한, JSLEE 서버(200) 내의 다른 서비스 구성 요소(203, 204)는 인터넷에서 사용자 또는 관리자에 의해서 액세스될 수 있다.
인터넷 가능 서비스 구성 요소(205)는 리퀘스트를 송신 및 수신하고 HTTP(hyper-text transfer protocol)에 따라 응답하는 것에 의해서 웹 서버(230)와 직접적으로 통신하도록 구성될 수 있다. 이와 유사하게, 웹 서버(230)는 또한 HTTP에 따라서 인터넷 가능 서비스 구성 요소(205)와 통신하도록 구성될 수 있다. 그럼에도 불구하고, 본 발명은 인터넷 가능 서비스 구성 요소(205) 및 대응되는 서버측 프로그램이 통신하는 방식에 대해서 한정되지 않는다. 오히려, 임의의 알려진 통신 기법이 명시적 TCP/IP 통신 등의 일반 커넥션 지향 기법(general connection-oriented techniques)을 포함하는 것으로 충분할 수 있다.
서버측 프로그램(232)과 인터넷 가능 서비스 구성 요소(205)의 결합은 여러 서비스의 측면 및 서비스 구성 요소가 인터넷을 거쳐, 인터넷 가능 서비스 구성 요소(205)에 의해서 제공된 공통 애플리케이션 프로그래밍 인터페이스(API)를 통해서 액세스될 수 있게 한다. 예를 들면, 가입자는 서비스 속성에 액세스하고 수정할 수 있다. 서비스 속성은 임의의 서비스에 대한 액세스 가능 측면을 포함할 수 있다. 이와 유사하게, 서비스 관리자 또는 운용 관리자(super users)는 인터넷을 거쳐 액세스, 모니터 및 관리 기능을 수행할 수 있다. 관리 기능은 시스템 관리자 또는 운용 관리자를 위해서만 할당되고 구독자에게는 제공되지 않는 임의의 기능을 포함할 수 있지만, 여기에 한정되지 않는다. 특히, 인터넷 가능형 서비스 구성 요소(205)는, 외부 서비스 또는 시스템의 도움 없이 인터넷을 거쳐서 구독자 및 관리자에게 이 액세스를 제공할 수 있다.
또한, 각 인터넷 가능 서비스 구성 요소(205)는, JSLEE 서버(200) 내의 다른 서비스 구성 요소(203, 204)와 마찬가지로, JSLEE 서버(200)로부터 이벤트를 수신하고 이벤트를 송신하는 기능을 가지도록 구성될 수 있다. 이러한 방식으로, 다른 서비스 구성 요소(203, 204)는 JSLEE 서버(200)에 등록되어 이러한 이벤트를 수신할 수 있다. 이들 서비스 구성 요소(203, 204)는, 인터넷 가능형 서비스 구성 요소(205)를 등록하여 수신할 수 있는 JSLEE에 대해 대응하여 이벤트를 전송할 수 있다. 인터넷 가능형 서비스 구성 요소(205)는 JSLEE 서버(200)로부터 수신된 이벤트를 프로세싱할 수 있을 뿐만 아니라 웹 서버(230)로부터 수신된 통신을 프로세스할 수 있다는 것을 인식해야 한다. 이 방식으로, 인터넷 가능형 서비스 구성 요소(205)는 인터넷 및 JSLEE 서버(200) 사이에서 인터페이스로서 기능할 수 있다.
특히, JSLEE 서버(200)는 또한 스레드 풀(222), 클래스 로더(224), 타이머(226) 및 사용 카운터(228)를 포함하는 수 개의 수명 관리 구성 요소(lifecycle management components)를 포함할 수 있다. 또한, 수명 관리 구성 요소는 도 2에 도시된 것에 한정되지 않는다. 오히려, 수명 관리 구성 요소는, 예를 들면 로드 밸런싱(load balancing) 등과 같은 다른 수명 관리 기능을 수행할 수 있는 구성 요소를 포함할 수 있다. 이 경우에, 본 발명의 장치에 따르면, 개별 서비스 구성 요소는 수명 관리를 수행해야하는 부담으로부터 벗어날 수 있고, 텔레포니 애플리케이션 내에서 보다 적절하게 이용될 수 있다.
특히, 도 2에서 도시된 바와 같이, 스레드 풀(222)은 스레드 풀 관리 구성 요소에 의해서, 요구에 따라 JSLEE 서버(200) 내에서 실행되는 리퀘스팅 서비스 구성 요소(204, 204, 205)에 대해 할당될 수 있는 복수의 사전 구성되고 로딩된 실행 스레드(execution threads)를 포함할 수 있다. 리퀘스팅 서비스 구성 요소(203, 204, 205)가 할당된 스레드의 이용을 완료한 때, 스레드 풀 관리 구성 요소는 할당된 스레드를 해제(de-allocate)하고, JSLEE 서버 내에서 실행되는 다른 리퀘스팅 서비스 구성 요소(203, 204, 205)에 의해서 이용되도록 해제된 스레드를 스레드 풀(222)로 복귀시킬 수 있다.
클래스 로더(224)는 JSLEE 서버(200)에 의해서 JSLEE 서버(200) 내에서의 실행을 위해 서비스 구성 요소(203, 204, 205)를 적절히 로딩하는 데 이용될 수 있다. 특히, 클래스 로더(224)는 구성을 식별하고 로딩될 각각의 서비스 구성 요소(203, 204, 205)와 연관된 파라미터를 로딩한다. 이후에, 클래스 로더(224)는 식별된 구성과 로딩 파라미터를 이용하여 서비스 구성 요소(203, 204, 205)를 실행할 수 있다. 마지막으로, 클래스 로더(224)는, JSLEE 서버(200)에서 실행되는 서비스 구성 요소(203, 204, 205)에 이벤트를 전송하고 전송받을 수 있도록, 서비스 구성 요소(203, 204, 205)를 이벤트 라우팅 버스(218)에 등록할 수 있다.
결국, 프로토콜층(202)은 JSLEE 서버(200) 내에서 실행되는 서비스 구성 요소(204)와 대화하도록 구성될 수 있는 하나 이상의 프로토콜 스택(206)을 포함할 수 있다. 특히, 도 2에서는 단지 3개의 프로토콜 스택(206)만을 도시하였으나, 본 발명은 프로토콜 스택(206)의 개수나 타입에 있어서 한정되지 않는다. 오히려, JSLEE 서버(200)는, 예를 들면 JAIN 사양에 따라서 구성되는 프로토콜 스택 등의 임의의 프로토콜 스택과 대화할 수 있다.
동작 도중에, JSLEE 서버(200)는 프로토콜층(202) 내의 프로토콜 스택(206)에 이벤트를 송신하고 수신할 수 있다. 보다 세부적으로, 이벤트는 JSLEE 서버(200) 내에 포함된 이벤트 라우팅 버스(218)에 송신되고 수신될 수 있다. 텔레포니 서비스 구성 요소(204) 및 일반 서비스 구성 요소(203)는 이벤트 라우팅 버스(218) 내에 수신된 특정 이벤트에 대한 청취자(listeners)로서 등록할 수 있다. JSLEE 서버(200)에 등록된 서비스 구성 요소(203, 204, 205)는 서비스 구성 요소(203, 204, 205) 중의 특정한 하나를 향해서 공급된 프로토콜 스택 이벤트를 수신할 수 있다. 또한, 서비스 구성 요소(203, 204, 205)는 서비스 구성 요소(203, 204, 205) 중의 특정한 하나를 향해서 공급된 서비스 구성 요소 이벤트를 수신할 수 있다. 보다 세부적으로, JSLEE 서버(200)의 이벤트 라우팅 버스(218)는, 이러한 이벤트를 수신하도록 JSLEE 서버(200)에 등록된 서비스 구성 요소(203, 204, 205)에 대해 수신된 이벤트를 라우팅할 수 있다.
본 발명의 바람직한 실시예에 따르면, JSLEE 서버(200)는 JAIN-컴플라이언트 지능형 네트워크 내의 클라이언트 구성 요소와 통신하도록 구성될 수 있다. 클라이언트 구성 요소는 프로토콜 스택(206)뿐만 아니라 다른 서비스 구성 요소(203, 204, 205), 특정 외부 서비스(220) 및 외부 애플리케이션(208)을 포함할 수 있다. 중요한 점은, JSLEE 서버(200)가 각 클라이언트 구성 요소의 구현에 대한 특정 지식 없이도 구성될 수 있다는 것이다. 이 기술을 달성하기 위해서, JSLEE 서버(200)는, 래퍼(216)와 통신할 수 있는 커넥터를 포함하는 것에 의해서 커넥터/래퍼 인터페이스를 형성할 수 있다. 래퍼(216)는 커넥터(210)에게 프로토콜 스택(206) 등의 전용 클라이언트 구성 요소에 대한 추상적 인터페이스를 제공할 수 있다. 다음으로, 각 커넥터(210)는, 대응되는 래퍼(216)에 의해서 제공된 추상적 인터페이스를 통해서, 프로토콜 스택(206) 등의 대응되는 클라이언트 구성 요소와 통신하도록 구성될 수 있다.
그러므로, 일반적으로, JSLEE 서버(200)는 프로토콜 스택(206) 등의 하부 클라이언트 구성 요소의 구현 상세에 관계없이 커넥터/래퍼 인터페이스를 통해서 총괄적으로 이벤트를 송신하고 수신할 수 있다. 오히려, 래퍼(216)만이 하부 프로토콜 스택(206)의 구현 상세에 대한 특정한 지식을 필요로 한다. 본 발명의 일 측면에 있어서, 대응되는 커넥터(210)와 통신하도록 구성될 수 있는 개별 래퍼(216)를 기술할 수 있는 JSLEE 기술자(214)가 포함될 수 있다.
특히, JSLEE 서버(200)는 개시 시에, JSLEE 기술자(214)를 판독하여 각 지정된 래퍼(216)의 식별 번호를 확인한다. 그 후, JSLEE 서버(200)는 특정 래퍼(216)와 통신하도록 커넥터(210)를 구성할 수 있다. 이와 유사하게, 클라이언트 구성 요소 기술자(212)는 각 커넥터(210)에 대해 제공될 수 있다. 클라이언트 구성 요소 기술자(212)는 프로토콜 스택(206) 등의 연관된 클라이언트 구성 요소가 JSLEE 서버(200)의 이벤트 라우팅 버스(218)에 의해서 통보될 수 있는 특정한 이벤트를 기술할 수 있다.
도 6은 통합 네트워크의 애플리케이션 실행 환경부에서, SLEE를 클라이언트 구성 요소에 통신형으로 링크시키는 방법을 나타내는 흐름도이다. 이 방법은 SLEE가 로딩될 수 있는 블록(602)에서 개시될 수 있다. 블록(604)에서, SLEE 기술자를 로딩할 수 있다. 만약, 결정 블록(606)에서 클라이언트 구성 요소가 지정되면, 블록(608)에서 커넥터 인스턴스가 생성될 수 있고 전용 클라이언트 구성 요소와 연관된 래퍼와 통신하도록 구성될 수 있다. 블록(610)에서, 구성된 커넥터와 연관된 서브스크립션 기술자(subscription descriptor)를 로딩할 수 있고, 블록(612)에서, 지정된 클라이언트 구성 요소는 SLEE 내의 이벤트 핸들러에 등록되어 서브스크립션 기술자 내에 목록이 작성된 이들 이벤트를 수신할 수 있다.
다음에, 결정 블록(614)에서, 추가적인 클라이언트 구성 요소가 SLEE 기술자 내에 목록이 작성되어 있다면, 추가적인 커넥터 인스턴스가 생성되어 블록(608) 내지 블록(612)에 따라서 구성될 수 있다. 마지막으로, 모든 커넥터 인스턴스가 생성되고 구성되면, SLEE가 단계(616)에서 개시될 수 있고, 각 개별 클라이언트 구성 요소의 기본적인 구현에 관계없이, 커넥터/래퍼 인터페이스를 통해서 등록된 클라이언트 구성 요소에 대해서 이벤트를 라우팅할 수 있다. 결과적으로, SLEE가 각 클라이언트 구성 요소에 대한 특정 지식을 가지지 않고도, SLEE를 클라이언트 구성 요소 래퍼를 통해서 클라이언트 구성 요소에 통신적으로 링크될 수 있다.
본 발명은 하드웨어, 소프트웨서 또는 하드웨어 및 소프트웨어의 조합으로 실현될 수 있다. 본 발명에 따른 텔레포니 서비스 제공 방법은 하나의 컴퓨터 시스템 내에서 집중화되는 유형으로 실현될 수도 있고, 서로 다른 소자가 수 개의 상호 접속된 컴퓨터 시스템에 걸쳐서 분산되어 있는 분산 유형으로 실현될 수 있다. 어떠한 종류의 컴퓨터 시스템-또는 본 명세서에서 설명된 방법을 실행하는 데 적용되는 다른 장치-도 적합하다. 하드웨어 및 소프트웨어의 전형적인 조합은, 로딩되고 실행되었을 때 본 명세서에서 설명된 방법을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 일반 컴퓨터 시스템일 수 있다.
또한, 본 발명은, 본 명세서에서 설명된 방법을 구현할 수 있는 모든 피쳐(features)를 포함하고, 컴퓨터 시스템 내에서 로딩될 때, 이 방법을 실행할 수 있는 컴퓨터 프로그램 제품에 적용될 수 있다. 본 내용에서의 컴퓨터 프로그램 수단 또는 컴퓨터 프로그램은, 정보 처리 기능을 갖는 시스템이 직접적이거나, a) 다른 언어, 코드 또는 표기법으로의 전환, b) 상이한 재료 형태로의 재생 중의 어느 하나 또는 양자를 실행한 후에 특정한 기능을 수행할 수 있게 하도록 의도된 인스트럭션(instruction)의 세트에 대한 임의의 표현, 임의의 언어로 된 코드 또는 표기법을 의미한다.

Claims (19)

  1. 고급 지능형 네트워크(an advanced intelligent network)에 있어서,
    클라이언트 구성 요소와 서비스 구성 요소 사이에서 메시지를 라우팅하는 이벤트 핸들러(event handler)를 포함하고, JAIN(JAVA API for Integrated Networks) 사양과 호환성이 있도록 구성되며, JAIN-컴플라이언트(compliant) 네트워크의 서비스 층 내에 포함되고, 상기 JAIN-컴플라이언트는 상기 서비스 층, 프로토콜 층, 애플리케이션 층 및 시그널링 층을 포함하는 서비스 로직 실행 환경부(service logic execution environment; SLEE)와,
    상기 SLEE 내에서 상기 이벤트 핸들러를 통해 다른 서비스 구성요소와 메시지를 송수신하도록 구성되며, JAIN 컴플라이언트 구성요소인 적어도 하나의 서비스 구성 요소와,
    상기 SLEE에서 실행되어, 상기 SLEE 내에서 상기 이벤트 핸들러를 통해 다른 서비스 구성요소와 메시지를 송수신하도록 구성되고, 상기 SLEE 외부의 서버측 프로그램(server side program)에 통신가능하게 링크되며, JAIN 컴플라이언트 구성 요소이고, 상기 SLEE의 상기 이벤트 핸들러에 대한 액세스를 상기 서브측 프로그램에 제공하는 적어도 하나의 인터넷 가능 서비스 구성 요소(IESC)
    를 포함하는 고급 지능형 네트워크.
  2. 서비스 로직 실행 환경부(service logic execution environment; SLEE)를 갖는 텔레포니 환경에서, 상기 SLEE에 사용되는 인터넷 가능 서비스 구성 요소(Internet enabled service component; IESC)에 있어서,
    각각이 인터넷 서비스 애플리케이션에 대응하는 적어도 하나의 클라이언트 서비스 인스턴스(instance)와,
    상기 SLEE와 상기 적어도 하나의 클라이언트 서비스 인스턴스 사이에서 이벤트를 라우팅하는 공통 인터페이스를 상기 적어도 하나의 클라이언트 서비스 인스턴스에 제공하는 서비스 래퍼(service wrapper)
    를 포함하되,
    상기 IESC는 상기 SLEE와 상기 적어도 하나의 클라이언트 서비스 인스턴스 사이의 인터페이스이고,
    상기 SLEE는 JAIN(JAVA API for Integrated Networks) 사양과 호환성이 있도록 구성되며,
    상기 SLEE는 JAIN-컴플라이언트 네트워크의 서비스 층 내에 포함되고, 상기 JAIN-컴플라이언트는 상기 서비스 층, 프로토콜 층, 애플리케이션 층 및 시그널링 층을 포함하며,
    상기 IESC는 JAIN 컴플라이너트 구성 요소인
    IESC.
  3. 제 2 항에 있어서,
    상기 서비스 래퍼는 상기 SLEE에 구성 정보를 제공하는 배치 기술자(deploymnet descriptor)를 더 포함하는 IESC.
  4. 제 2 항에 있어서,
    상기 서비스 래퍼는 상기 IESC에 인터페이스를 발행하는 서비스 인터페이스를 더 포함하는 IESC.
  5. 제 2 항에 있어서,
    상기 서비스 래퍼는 상기 텔레포니 환경에서 통신을 관리하는 프로토콜 스택을 더 포함하는 IESC.
  6. 제 2 항에 있어서,
    상기 적어도 하나의 클라이언트 서비스 인스턴스는 상기 클라이언트 서비스 인스턴스에 인터페이스를 발행하는 콘텐츠 인터페이스를 더 포함하는 IESC.
  7. 제 2 항에 있어서,
    상기 IESC는 다른 일반적 서비스 구성 요소, 외부 애플리케이션, 서비스 구성 요소 또는 프로토콜 스택과 상호작용하는 IESC.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 서비스 로직 실행 환경부(service logic execution environment; SLEE)에서 실행되는 서비스 구성 요소들 간에 메시지를 라우팅하는 이벤트 핸들러(event handler)를 포함하는 서비스 로직 실행 환경부(SLEE)에 외부 인터페이스를 제공하는 방법에 있어서,
    인터넷 가능 서비스 구성 요소(internet enabled service component : IESC)를 상기 SLEE에 등록하는 단계와,
    상기 IESC가 상기 SLEE에 의해 라우팅되는 제 1 이벤트를 수신하는 단계
    를 포함하되,
    상기 제 1 이벤트는 상기 IESC가 등록되어 상기 SLEE로부터 수신하는 인터넷 서비스 애플리케이션에 대응하고,
    상기 SLEE는 JAIN(JAVA API for Integrated Networks) 사양과 호환성이 있도록 구성되며,
    상기 SLEE는 JAIN-컴플라이언트 네트워크의 서비스 층 내에 포함되고, 상기 JAIN-컴플라이언트는 상기 서비스 층, 프로토콜 층, 애플리케이션 층 및 시그널링 층을 포함하며,
    상기 IESC는 JAIN 컴플라이언트 구성 요소이고,
    상기 IESC는 상기 SLEE의 상기 이벤트 핸들러에 대한 액세스를 상기 인터넷 서비스 애플리케이션에 제공하는
    외부 인터페이스 제공 방법.
  13. 삭제
  14. 삭제
  15. 제 12 항에 있어서,
    상기 IESC와 상기 인터페이스 서비스 애플리케이션 사이에 통신 링크를 수립하는 단계를 더 포함하는 외부 인터페이스 제공 방법.
  16. 제 12 항에 있어서,
    상기 인터넷 서비스 애플리케이션과 통신하는 적어도 하나의 클라이언트 서비스 인스턴스를 실증(instantiating)하되, 상기 클라이언트 서비스 인스턴스는 상기 인터넷 서비스 애플리케이션과 상호작용하는 단계를 더 포함하는 외부 인터페이스 제공 방법.
  17. 제 16 항에 있어서,
    상기 클라이언트 서비스 인스턴스와 상기 인터넷 서비스 애플리케이션 사이의 상기 상호작용에 응답하여 상기 상호작용에 대응하는 제 2 이벤트를 상기 SLEE에 전달하는 단계를 더 포함하는 외부 인터페이스 제공 방법.
  18. 제 12 항에 있어서,
    상기 제 1 이벤트는 프로토콜 스택, 일반적인 서비스 구성 요소, 서비스 구성 요소, 또는 상기 인터넷 서비스 애플리케이션과 연관된 외부 서버측 프로그램으로부터 수신되는 외부 인터페이스 제공 방법.
  19. 머신에 의해 실행가능한 다수의 코드 섹션을 갖는 컴퓨터 프로그램이 저장된 머신 판독 가능 저장 장치에 있어서,
    상기 코드 섹션은 상기 머신으로 하여금 청구항 12항, 15항 내지 18항 중 어느 한 항의 방법을 수행하도록 야기하는 머신 판독 가능 저장 장치.
KR1020037013843A 2001-05-24 2002-05-14 고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치 KR100602318B1 (ko)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US09/864,696 US7007063B2 (en) 2001-05-24 2001-05-24 Server side program interface to service logic execution environment
US09/864,696 2001-05-24
US09/884,577 2001-06-18
US09/884,578 2001-06-18
US09/884,576 2001-06-18
US09/884,497 US6694002B2 (en) 2001-06-18 2001-06-18 Generic service component for wireless services
US09/884,578 US6690783B2 (en) 2001-06-18 2001-06-18 Service application architecture for integrated network service providers
US09/884,575 US6690781B2 (en) 2001-06-18 2001-06-18 Generic service component for telephony container server
US09/884,575 2001-06-18
US09/884,577 US6914969B2 (en) 2001-06-18 2001-06-18 Service logic execution environment for telecommunications service components
US09/884,576 US6690782B2 (en) 2001-06-18 2001-06-18 Service logic execution environment connector to client interface
US09/884,497 2001-06-18
PCT/GB2002/002250 WO2002098097A2 (en) 2001-05-24 2002-05-14 Service application architecture for integrated network service providers

Publications (2)

Publication Number Publication Date
KR20040000439A KR20040000439A (ko) 2004-01-03
KR100602318B1 true KR100602318B1 (ko) 2006-07-14

Family

ID=27560328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037013843A KR100602318B1 (ko) 2001-05-24 2002-05-14 고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치

Country Status (8)

Country Link
EP (1) EP1389395B1 (ko)
JP (1) JP3924279B2 (ko)
KR (1) KR100602318B1 (ko)
CN (1) CN100586203C (ko)
AT (1) ATE367059T1 (ko)
AU (1) AU2002302741A1 (ko)
DE (1) DE60221118T2 (ko)
WO (1) WO2002098097A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0205203A (pt) * 2002-12-30 2004-09-21 Bcp S A Sistema de integração e gerenciamento de serviços em redes de telefonia e processo de integração e gerenciamento de serviços
KR100700363B1 (ko) * 2005-06-03 2007-03-27 주식회사 케이티프리텔 팔레이 게이트웨이 기반의 양방향 이동통신 서비스 시스템및 방법
US7870265B2 (en) * 2005-06-30 2011-01-11 Oracle International Corporation System and method for managing communications sessions in a network
DE102007001137B4 (de) * 2006-02-14 2016-05-04 Robert Bosch Gmbh Gateway zum automatischen Routen von Nachrichten zwischen Bussen
CN105512314A (zh) * 2015-12-15 2016-04-20 宋连兴 一种在应用程序内实现可分离的数据处理方法
CN108781215B (zh) * 2016-03-28 2021-02-12 华为技术有限公司 网络服务实现方法、服务控制器及通信系统
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991803A (en) * 1997-03-28 1999-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Decoupling service creation environment from service logic execution environment
US6625274B1 (en) * 1999-10-12 2003-09-23 Broadsoft, Inc. Computer system and method for providing services to users of communication systems using service entities, interface entities, and a service bus

Also Published As

Publication number Publication date
WO2002098097A2 (en) 2002-12-05
CN1537392A (zh) 2004-10-13
JP2004537886A (ja) 2004-12-16
EP1389395B1 (en) 2007-07-11
KR20040000439A (ko) 2004-01-03
DE60221118T2 (de) 2008-03-20
WO2002098097A3 (en) 2003-05-22
AU2002302741A1 (en) 2002-12-09
DE60221118D1 (de) 2007-08-23
JP3924279B2 (ja) 2007-06-06
CN100586203C (zh) 2010-01-27
ATE367059T1 (de) 2007-08-15
EP1389395A2 (en) 2004-02-18

Similar Documents

Publication Publication Date Title
US6690783B2 (en) Service application architecture for integrated network service providers
AU770505B2 (en) Method and apparatus for providing real-time call processing services in an intelligent network
US6393481B1 (en) Method and apparatus for providing real-time call processing services in an intelligent network
US7167917B2 (en) Visual tool for developing service components for use in advanced intelligent networks
US8693666B2 (en) Intelligent call platform for an intelligent distributed network
US20030059028A1 (en) Agent-based multimedia communication system that supports web telephony call model
US6052455A (en) Universal data structure for use with a concurrent state machine space in a telecommunications network
KR100602318B1 (ko) 고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치
US6690781B2 (en) Generic service component for telephony container server
US7007063B2 (en) Server side program interface to service logic execution environment
US6694002B2 (en) Generic service component for wireless services
US6914969B2 (en) Service logic execution environment for telecommunications service components
US7072957B2 (en) Remote administration and monitoring of a service component in a service logic execution environment
US6873695B2 (en) Generic service component for voice processing services
US6876733B2 (en) Generic service component for message formatting
TWI226771B (en) Service application architecture for integrated network service providers
MXPA01001277A (en) Method and system for an intelligent distributed network architecture

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100428

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee