KR20130086789A - 어플리케이션 거래 시스템 - Google Patents

어플리케이션 거래 시스템 Download PDF

Info

Publication number
KR20130086789A
KR20130086789A KR1020120007771A KR20120007771A KR20130086789A KR 20130086789 A KR20130086789 A KR 20130086789A KR 1020120007771 A KR1020120007771 A KR 1020120007771A KR 20120007771 A KR20120007771 A KR 20120007771A KR 20130086789 A KR20130086789 A KR 20130086789A
Authority
KR
South Korea
Prior art keywords
application
development
information
store
hosting service
Prior art date
Application number
KR1020120007771A
Other languages
English (en)
Other versions
KR101523031B1 (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 KR1020120007771A priority Critical patent/KR101523031B1/ko
Publication of KR20130086789A publication Critical patent/KR20130086789A/ko
Application granted granted Critical
Publication of KR101523031B1 publication Critical patent/KR101523031B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

본 발명은 어플리케이션 스토어를 통해 어플리케이션을 호스팅 서비스 운영자에게 공급하고 어플리케이션 개발자에게 어플리케이션 개발 도구 및 개발 환경을 제공할 수 있는 어플리케이션 거래 시스템을 개시하고 있다. 어플리케이션 거래 시스템은 어플리케이션(application)을 개발하고 검증할 수 있는 환경을 개발 클라이언트 장치에 제공하는 어플리케이션 개발 서버; 및 상기 개발 서버를 이용하여 개발된 어플리케이션을 등록하고 상기 어플리케이션의 판매를 관리하는 어플리케이션 스토어를 포함하되, 상기 개발 서버는 상기 어플리케이션 스토어를 통해 호스팅 서비스 운영자 - 호스팅 서비스 운영자는 어플리케이션 스토어의 고객을 의미함 - 로부터 또는 상기 어플리케이션 스토어로부터 중 적어도 어느 하나로부터 상기 어플리케이션의 개발 관련 정보를 수신하여 상기 어플리케이션의 개발을 지원한다. 따라서, 개발 서버 및 어플리케이션 스토어를 통해 어플리케이션에 대한 개발 및 유지 보수 등과 같은 거래의 수익 구조가 구성될 수 있으므로 어플리케이션 개발을 활성화하여 어플리케이션을 안정적이고 다양하게 제공한다.

Description

어플리케이션 거래 시스템{APPLICATION TRANSACTION SYSTEM}
본 발명은 어플리케이션 거래 시스템에 관한 것으로, 보다 상세하게는 어플리케이션 스토어를 통해 어플리케이션을 거래하는 시스템에 관한 것이다.
최근에 스마트폰이 보급되면서, 스마트 폰과 같은 휴대용 단말기에 단말기 사용자의 편의를 도모하기 위한 어플리케이션을 다운로드하여 사용하는 일이 빈번해졌다. 어플리케이션은 게임 어플리케이션 뿐만 아니라 사용자의 편의를 위해 대중 교통 서비스 이용 관련 어플리케이션, 금융 거래 관련 어플리케이션, 교육 관련 어플리케이션 등 다양한 분야에 걸쳐 개발되고 있다. 따라서, 다양하게 개발된 어플리케이션의 거래가 증대되고 있는 실정이다. 특히, 이동 통신 단말기의 본연의 기능인 음성 호 처리 외에 단문 메시지(SMS) 송수신에서부터 동영상 메일 송수신, 폰북(phone book), 일정 관리, 계산기, 전화 번호부 및 동영상 게임 등과 같은 각종 부가 기능이 어플리케이션을 통해 사용되고 있다.
기존의 어플리케이션 스토어는 개발자가 어플리케이션을 개발 후 판매하고자 하는 정보를 입력하여 등록하고, 이를 사용자가 구입하여 설치하는 기능만을 가지고 있다. 또한, 사용자는 어플리케이션에 대한 평가만을 할 수 있고, 개발자는 직접 해당 어플리케이션의 항목에 들어가서 확인해야만 했다. 만약, 사용자가 어플리케이션에 대한 오류 수정이나, 기능 개선 등을 요구하기 위해 개발자 정보를 직접 찾아 이메일로 직접 메일을 작성해서 보내야만 했고, 이에 대한 응답이나 처리등의 과정을 확인하거나 관리할 수 방법을 제시하지 못하였다.
또한, 기존의 어플리케이션 개발에 있어서는, 개발자가 어플리케이션 개발 환경을 프로그램과 같은 형태로 직접 설치하여 어플리케이션을 개발해야 하기 때문에 개발을 위한 제반 구성요소를 구비하는데 많은 어려움이 있었다. 또한, 개발된 어플리케이션의 판매 관리를 위해 다른 디바이스를 필요로 하기 때문에 어플리케이션의 유통이 용이하지 못하였다.
도 1은 일반적인 어플리케이션의 거래 방법을 설명하기 위한 개념도이다. 도 1에 도시된 바와 같이, 어플리케이션 개발자(10-1, 10-2, 10-3)들은 어플리케이션을 개발하여 어플리케이션 스토어(20)에 등록하고, 어플리케이션 스토어(20)는 사용자 장비(30: UE(User Equipment))에 이를 판매하는 형태이다.
도 1을 참조하면, 어플리케이션 개발자(10-1, 10-2, 10-3)들은 자체적으로 어플리케이션을 개발한다. 개발된 어플리케이션은 타인의 요청에 의해 개발하는 경우보다는 개발자들의 역량에 의해 개발하는 경우가 대부분이다. 따라서, 실제 서비스 소비자가 원하는 어플리케이션이 아닌 경우가 발생할 수 있다. 개발자(10-1, 10-2, 10-3)들은 어플리케이션 스토어(20)에 자신들이 개발한 어플리케이션을 등록한다. 어플리케이션 스토어(20)는 개발자(10-1, 10-2, 10-3)들이 어플리케이션을 등록함에 있어서, 일정한 수수료를 받을 수 있다. 어플리케이션 스토어(20)는 사용자 장비(30-1, 30-2, 30-3)에 어플리케이션을 판매한다.
사용자 장비(30-1, 30-2, 30-3)는 스마트 폰이 될 수 있고, 또는 태블릿 PC, PDA 등 휴대용 단말 기기를 포함할 수 있다. 상기한 예들에 반드시 국한되는 것은 아니고, 사용자가 어플리케이션을 다운로드하여 사용할 수 있는 장비라면 어플리케이션 스토어(20)로부터 어플리케이션을 구매하여 다운로드할 수 있다. 이때, 다운로드시 어플리케이션 스토어(20)는 사용자 장비(30-1, 30-2, 30-3)로부터 수수료를 받을 수 있다. 이와 같이, 어플리케이션 스토어(20)는 어플리케이션 개발자(10-1, 10-2, 10-3) 및 사용자 장비(30-1, 30-2, 30-3)로부터 수수료를 받는 수익 구조를 통해 이익을 창출한다.
상기와 같은 방법을 통해 어플리케이션이 거래되다 보니, 개발자(10-1, 10-2, 10-3)들은 실제 어플리케이션 소비자의 요구 사항을 수렴하지 못한 채 어플리케이션을 개발하게 되어 소비자가 원하는 어플리케이션을 제공하지 못하는 문제점이 있다. 또한, 개발된 어플리케이션을 사용하면서 발생하는 소비자의 요구에 따라 어플리케이션의 유지 보수가 어렵다는 문제점도 존재한다. 더욱이, 개발자(10-1, 10-2, 10-3)들은 어플리케이션 스토어(20)에 등록되기 적합한 어플리케이션 개발 환경이 존재하지 않는 상황에서 어플리케이션을 개발하다 보니, 어플리케이션 스토어(20)에 등록시 어려움을 겪게 된다.
더욱이, 어플리케이션 개발 능력이 없는 사용자의 경우, 본인이 제공하기 원하는 어플리케이션을 개발해주는 개발자(10-1, 10-2, 10-3)를 찾지 못해 어플리케이션으로 만들면 유용할 수 있는 아이템이 사장되는 경우가 발생할 수 있다.
따라서, 상기한 문제점을 해결할 수 있는 어플리케이션의 개발부터 어플리케이션의 거래 및 어플리케이션의 실행 환경도 제공할 수 있는 어플리케이션 거래 시스템에 대한 요구가 대두되고 있다.
대한민국 공개 특허 KR 10-2005-0046182 ("이동 통신 단말기에서의 어플리케이션 다운로드 및 실행서비스 제공 장치와 그 방법 ", 주식회사 케이티프리텔, 2005.05.18 공개)
상술한 문제점을 해결하기 위한 본 발명의 목적은 어플리케이션 스토어를 통해 어플리케이션을 호스팅에게 공급하고 어플리케이션 개발자에게 어플리케이션 개발 도구 및 개발 환경을 제공할 수 있는 어플리케이션 거래 시스템을 제공하는 것이다.
또한, 본 발명의 다른 목적은 개발자가 어플리케이션 거래에서 개발에 대한 수익을 어플리케이션 판매, 유지 보수, 신규 기능 개발, 어플리케이션 대행 개발, 무료 어플리케이션 광고 시스템 등을 통해 다양한 수익 모델을 통해 창출할 수 있게 하는 어플리케이션 거래 시스템을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 어플리케이션 거래 시스템은 어플리케이션(application)을 개발하고 검증할 수 있는 환경을 개발 클라이언트 장치에 제공하는 어플리케이션 개발 서버; 및 상기 개발 서버를 이용하여 개발된 어플리케이션을 등록하고 상기 어플리케이션의 판매를 관리하는 어플리케이션 스토어를 포함하되, 상기 개발 서버는 상기 어플리케이션 스토어를 통해 호스팅 서비스 운영자 - 호스팅 서비스 운영자는 어플리케이션 스토어의 고객을 의미함 - 로부터 또는 상기 어플리케이션 스토어로부터 중 적어도 어느 하나로부터 상기 어플리케이션의 개발 관련 정보를 수신하여 상기 어플리케이션의 개발을 지원할 수 있다.
상기 개발 관련 정보는 상기 어플리케이션의 개발 요청 또는 유지 보수와 관련된 정보를 포함하고, 상기 어플리케이션을 개발할 수 있는 개발 환경은 호스트 정보, 호스트 계정 정보, 시스템 계정(ID), 보안 쉘(SSH), 파일 전송 프로토콜(FTP), 텔넷(Telnet), 웹 개발 환경(web IDE: Web Integrated Development Environment(통합 개발 환경)), 성능 측정 도구, 프로파일링 도구, 단위 테스트 도구, 소스 관리 도구 및 버전 관리 도구 중 적어도 어느 하나를 포함할 수 있다.
상기 개발 관련 정보는 어플리케이션 기본 정보, 검증 정보 및 버전 정보 중 적어도 어느 하나를 포함하고, 상기 기본 정보는 어플리케이션의 이름, ID(식별코드), 지원서비스, 요약, 설명, 키워드, 가격, 판매수, 카테고리, 이미지를 포함하며, 상기 검증정보는 검증요청정보, 검증상태정보, 검증결과보고서를 포함하고, 상기 버전정보는 버전 코드, 소스 관리(DVCS/SCM)에서 제공하는 Branch, Tag, Revision 및 제목/설명/변경사항을 포함할 수 있다.
상기 개발 서버는 상기 어플리케이션과 관련된 계정 - 계정은 어플리케이션과 관련된 시스템의 ID를 의미함 - 을 관리하는 계정 관리부; 상기 계정을 이용하여 접속한 상기 개발 클라이언트 장치에 상기 어플리케이션을 개발하는데 필요한 도구를 제공하는 개발 도구 제공부; 및 상기 개발이 완료된 어플리케이션의 소스 코드를 검증하는 검증부를 포함할 수 있다.
상기 계정 관리부는 상기 어플리케이션 개발을 위한 어플리케이션의 시스템 계정을 제공하고, 상기 계정을 통해 인증을 수행할 수 있다.
상기 개발 도구 제공부는 웹을 통해 상기 어플리케이션의 소스를 수정하고 상기 소스를 테스트할 수 있으며, 부가적인 디버깅 도구를 상기 개발 클라이언트 장치에 제공할 수 있다.
상기 개발 서버는 웹이나 상기 계정을 통해 상기 어플리케이션의 소스의 버전, 상기 어플리케이션의 기본 정보 및 부가 정보 중 적어도 어느 하나를 관리하는 관리부를 더 포함하고, 상기 관리부는 분산 버전 관리 시스템(DVCS) 및 소스 코드 관리(SCM) 중 어느 하나를 기반으로 관리할 수 있다.
상기 개발 서버는 상기 어플리케이션의 소스를 공개하는 방법을 제공하고, 상기 공개된 어플리케이션 소스를 통해 외부 개발자로부터 상기 어플리케이션 개발에 대한 참여를 수신할 수 있다.
상기 개발 클라이언트 장치는 상기 개발 서버 및 상기 어플리케이션 스토어 를 통해 상기 어플리케이션의 개발 대행 의뢰 및 개발 대행 수락 메시지를 주고 받음으로써 상기 어플리케이션의 개발을 대행할 수 있다.
상기 개발 서버는 상기 개발 클라이언트 간의 개발 대행 의뢰 및 개발 대행 수락과 관련된 내용을 상기 어플리케이션 스토어에 전송하고, 상기 어플리케이션 스토어는 이메일 또는 게시판을 통해 상기 개발 대행 의뢰 및 개발 대행 수락 관련 내용을 공지할 수 있다.
상기 어플리케이션 스토어는 상기 호스팅 서비스 운영자의, 지정되지 않은 개발 클라이언트, 다수의 개발 클라이언트 및 하나의 개발 클라이언트 중 적어도 어느 하나의 개발 클라이언트를 지정하여 상기 어플리케이션의 신규 개발 또는 상기 어플리케이션의 기능 개선의 요청을 수신하고, 상기 요청을 기반으로 상기 어플리케이션의 거래를 수행할 수 있다.
상기 개발 클라이언트 장치는 상기 호스팅 서비스 운영자의, 상기 어플리케이션 스토어를 통해 구매한 어플리케이션에 대한 신규 개발 및 유지 보수 중 적어도 어느 하나와 관련된 요청을 상기 어플리케이션 스토어 및 상기 개발 서버를 통해 수신할 수 있다.
상기 어플리케이션 스토어 또는 상기 개발 서버는 상기 호스팅 서비스 운영자의 요청에 대응하여 상기 개발 클라이언트로부터 수신한 상기 어플리케이션의 개발 진행 정도 또는 개발 결과와 관련된 내용을 출력할 수 있다.
상기 어플리케이션 스토어는 다수의 상기 개발 서버의 계정을 관리하는 계정 관리부; 상기 어플리케이션의 거래에 대한 결제를 관리하는 결제 관리부; 상기 개발 서버를 이용하여 개발된 어플리케이션의 각 버전에 대한 소스를 보유하고, 상기 어플리케이션의 정보 요청 사항을 처리하며, 상기 어플리케이션의 사용과 관련된 정보를 수집 분석하는 어플리케이션부; 및 상기 어플리케이션의 실행을 위한 런타임 정보, 각 호스팅 서비스 정보, 분산 데이터 베이스의 서버 정보, 상기 개발 서버 정보를 관리하는 서버 관리부를 포함할 수 있다.
상기 어플리케이션 스토어는 호스팅 서비스 장치를 사용하는 대가를 상기 호스팅 서비스 운영자에게 청구할 수 있다.
상기 어플리케이션 스토어는 상기 개발 서버를 통해 개발된 어플리케이션, 상기 어플리케이션과 관련된 거래 정보, 및 상기 어플리케이션에 대한 버전 및 설명 중 적어도 어느 하나를 저장하는 데이터베이스를 포함할 수 있다.
상기 어플리케이션 스토어는 상기 호스팅 서비스 운영자가 사용자 인터페이스를 통해 상기 등록된 어플리케이션 중 특정 어플리케이션을 선택할 수 있는 기능을 제공할 수 있다.
상기 어플리케이션 스토어는 상기 호스팅 서비스 운영자가 구매하는 어플리케이션에 대한 거래조건을 상기 사용자 인터페이스를 통해 상기 호스팅 서비스 운영자로부터 입력받고 상기 입력받은 거래조건을 상기 개발 서버 및 상기 개발 클라이언트 장치에 전송할 수 있다.
상기 개발 클라이언트 장치는 상기 어플리케이션 스토어로부터 수신한 거래 조건을 승인하거나 또는 상기 어플리케이션 스토어로부터 수신한 거래 조건과 다른 거래 조건을 제시하는 기능을 포함할 수 있다.
상기 어플리케이션 스토어는 상기 사용자 인터페이스를 통해 상기 호스팅 서비스 운영자로부터 상기 다른 거래 조건에 대한 승인, 변경 및 재요청 중 어느 하나를 수신할 수 있다.
상기 어플리케이션 스토어는 상기 어플리케이션의 결재 방법을 제공할 수 있다.
상기 어플리케이션 스토어는 상기 개발 서버를 매개로 상기 어플리케이션의 통계 정보 및 상기 어플리케이션 관련 보고서를 상기 개발 클라이언트에 제공할 수 있다.
상기 어플리케이션 스토어는 상기 어플리케이션 및 상기 어플리케이션의 개발자를 평가하기 위해, 상기 개발자가 개발한 어플리케이션의 사용 정보를 제공할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 어플리케이션 거래 시스템은 어플리케이션(application)을 개발하고 검증할 수 있는 환경을 개발 클라이언트 장치에 제공하는 어플리케이션 개발 서버; 상기 개발 서버를 이용하여 개발된 어플리케이션을 등록하고 상기 어플리케이션의 판매를 관리하는 어플리케이션 스토어; 및 상기 어플리케이션 스토어로부터 구입한 상기 어플리케이션을 웹 서비스 상에서 실행할 수 있도록 실행 환경을 제공하는 호스팅 서비스 장치를 포함하되, 상기 개발 서버는 상기 어플리케이션 스토어를 통해 호스팅 서비스 운영자 - 호스팅 서비스 운영자는 어플리케이션 스토어의 고객을 의미함 - 로부터 또는 상기 어플리케이션 스토어로부터 중 적어도 어느 하나로부터 상기 어플리케이션의 개발 관련 정보를 수신하여 상기 어플리케이션의 개발을 지원할 수 있다.
제 23 항에 있어서, 상기 호스팅 서비스 장치는 상기 어플리케이션의 설치/제거 및 업그레이드 중 적어도 어느 하나를 관리하는 어플리케이션 서비스 관리부; 및 상기 어플리케이션의 실행에 대해 처리하고 상기 처리 결과를 반환하며 상기 처리 결과에 대한 정보 - 처리 결과에 대한 정보는 실행 시간, 실행 횟수, 성능, 실행 결과 및 오류 정보 중 적어도 어느 하나를 포함함 - 를 관리하는 어플리케이션 런타임 관리부를 포함할 수 있다.
상기 어플리케이션 서비스 관리부는 설치된 상기 어플리케이션의 목록, 설치 가능한 상기 어플리케이션 목록 및 상기 어플리케이션의 업그레이드 가능 목록 중 적어도 어느 하나를 출력할 수 있다.
상기 어플리케이션 서비스 관리부는 어플리케이션의 사용여부, 상기 어플리케이션 서비스 사용자의 어플리케이션에 대한 평가, 리뷰 및 질의/응답, 및 상기 어플리케이션 로그 및 통계 정보 중 적어도 어느 하나를 관리할 수 있다.
상기 어플리케이션 런타임 관리부는 상기 어플리케이션을 실행시키고, 상기 어플리케이션 실행에 대한 결과 정보를 수집/저장하며, 상기 어플리케이션의 런타임 중 처리해야할 정보를 관리할 수 있다.
상기 호스팅 서비스 장치는 상기 어플리케이션에서 호스팅 서비스 이용자가 결재해야 할 대가를 상기 호스팅 서비스 이용자에게 청구할 수 있다.
상기 어플리케이션 스토어는 광고 제공자의 계정을 등록하고, 상기 등록된 광고 제공자의 계정을 인증하여 광고 설정 정보를 상기 호스팅 서비스 장치에 전송함으로써 상기 어플리케이션에 광고를 제공할 수 있다.
상기 어플리케이션 스토어는 상기 광고 제공자로부터 사용자 인터페이스를 통해 광고 제약 조건을 입력받고, 상기 광고 제약 조건을 상기 호스팅 서비스 장치에 전송하여 상기 광고 제약 조건을 기반으로 상기 어플리케이션에 상기 광고를 제공할 수 있다.
상기 광고는 광고주, 클릭 당 지불 비용, 뷰 지불 비용, 지불 제한, 지불 이력, 충전 잔여금, 광고 활성 기간 정보를 기반으로 제공될 수 있다.
본 발명의 어플리케이션 거래 시스템에 따르면, 개발 서버 및 어플리케이션 스토어를 통해 어플리케이션에 대한 개발 및 유지 보수 등과 같은 거래의 수익 구조가 구성될 수 있으므로 어플리케이션 개발을 활성화하여 어플리케이션을 안정적이고 다양하게 제공할 수 있는 효과가 있다.
본 발명의 어플리케이션 거래 시스템에 따르면, 어플리케이션 개발자와 어플리케이션 운영자가 별개로 구성되어 어플리케이션을 개발하므로, 다양한 수익 구조를 창출할 수 있고, 소비자가 원하는 어플리케이션에 대한 요구사항에 따라 어플리케이션의 유지 보수를 지속적으로 할 수 있으므로 어플리케이션을 보다 효율적으로 활용할 수 있으며 어플리케이션의 생명 주기를 신장시킬 수 있는 효과가 있다.
또한, 본 발명의 어플리케이션 거래 시스템에 따르면, 어플리케이션의 검증을 통한 안정성을 확보할 수 있고, 어플리케이션 개발자에게 어플리케이션 개발 환경을 제공함으로써 어플리케이션 개발에 실질적으로 도움을 줄 수 있다는 효과가 있다.
더욱이, 본 발명의 어플리케이션 거래 시스템에 따르면, 호스팅 서비스 장치를 통해 호스팅 서비스 운영자가 용이하게 어플리케이션 서비스를 운영할 수 있는 환경을 제공하는 효과가 있다.
도 1은 일반적인 어플리케이션의 거래 방법을 설명하기 위한 개념도,
도 2는 본 발명의 일 실시예에 따른 어플리케이션 거래 시스템을 개략적으로 나타낸 블록도,
도 3은 본 발명의 일 실시예에 따른 개발 서버(120)를 구체적으로 나타낸 상세블록도,
도 4는 본 발명의 일 실시예에 따라 Revision을 이용하여 버전 관리를 하는 모습을 설명하기 위한 개념도,
도 5는 본 발명의 일 실시예에 따른 어플리케이션 스토어의 구성을 개략적으로 나타낸 블록도,
도 6은 본 발명의 일 실시예에 따른 호스팅 서비스 장치의 구성을 개략적으로 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 어플리케이션의 개발 및 등록 방법을 설명하기 위한 흐름도,
도 8은 본 발명의 일 실시예에 따른 어플리케이션의 유지보수, 기능 개선 및 개발 진행을 설명하기 위한 흐름도,
도 9는 본 발명의 일 실시예에 따른 개발 클라이언트 간의 개발 대행을 설명하기 위한 흐름도,
도 10은 본 발명의 일 실시예에 따른 어플리케이션의 거래 실행 확인 및 결재 방법을 설명하기 위한 흐름도,
도 11은 본 발명의 일 실시예에 따라 어플리케이션에 광고를 등록하는 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
어플리케이션 거래 시스템
도 2는 본 발명의 일 실시예에 따른 어플리케이션 거래 시스템을 개략적으로 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어플리케이션 거래 시스템은 개발 클라이언트(110-1, 110-2, 110-3), 개발 서버(120), 어플리케이션 스토어(130) 및 호스팅 서비스 장치(140-1, 140-2, 140-3)를 포함할 수 있다. 여기서, 개발 클라이언트(110-1, 110-2, 110-3)는 개발자들이 실질적으로 어플리케이션을 개발하는 장치를 의미한다. 따라서, 개발 클라이언트 장치(110-1, 110-2, 110-3)로 표현될 수 있다.
도 2를 참조하면, 개발 클라이언트 장치(110-1, 110-2, 110-3)는 어플리케이션 개발자가 실질적으로 어플리케이션을 개발하는 장치로서, 개발 서버(120)에 접속하여 어플리케이션 개발 환경을 제공받을 수 있다. 개발 클라이언트 장치(110-1, 110-2, 110-3)는 다수 개일 수 있다. 여기서, 어플리케이션 개발 환경은 어플리케이션 개발에 필요한 여러가지 개발 도구를 포함하는 것으로서, 호스트 정보, 호스트 계정 정보(SHH), 웹 개발 환경(web IDE), 단위 테스트 도구, 소스 관리(DVCS/SCM) 도구 및 버전 관리 도구 중 적어도 어느 하나를 포함할 수 있다. 상기와 같은 개발 환경을 제공받아 어플리케이션을 개발하고, 이를 통해 어플리케이션 개발 수익, 광고 수익, 유지 보수 및 기능 개선과 관련된 수익을 창출할 수 있다. 또한, 개발 클라이언트 장치(110-1, 110-2, 110-3)는 서로간의 개발 대행을 수행할 수 있다. 개발 대행이란 어플리케이션의 개발을 다른 개발 클라이언트 장치(110-1, 110-2, 110-3)에게 넘겨 다른 개발 클라이언트 장치(110-1, 110-2, 110-3)가 의뢰한 개발자의 어플리케이션을 대신하여 개발해주는 것을 의미한다. 예컨대, 개발 클라이언트 장치(110-1)가 어플리케이션의 개발을 요청받아 개발을 하려는데 상황이 여의치 않은 경우, 개발 대행을 요청할 수 있고, 다른 개발 클라이언트 장치(110-2)는 개발 대행과 관련된 조건을 수락하면, 어플리케이션의 개발 대행이 이루어지게 된다. 또한, 호스팅 서비스 운영자(160)는 어플리케이션 스토어(130)를 통해 지정되지 않은 개발 클라이언트(110), 다수의 개발 클라이언트(110) 및 하나의 개발 클라이언트(110) 중 적어도 어느 하나의 개발 클라이언트(110)를 지정하여 어플리케이션의 신규 개발 또는 어플리케이션의 기능 개선을 요청할 수 있다. 상기 요청을 통해 어플리케이션과 관련된 거래 관계가 발생한다. 그리고, 호스팅 서비스 운영자(160)가 어플리케이션 스토어(130)를 통해 구매한 어플리케이션에 대한 신규 개발 및 유지 보수 중 적어도 어느 하나의 요청을 어플리케이션 스토어(130) 또는 개발 서버(120)를 통해 개발 클라이언트(110)로 전달할 수 있다. 개발 클라이언트(110)는 상기 호스팅 서비스 운영자(160)의 요청에 대응하여 어플리케이션의 개발 진행 정도 또는 개발 결과와 관련된 내용을 어플리케이션 스토어(130) 또는 개발 서버(120)에 전송하고, 어플리케이션 스토어(130) 또는 개발 서버(120)는 이를 출력할 수 있다.
다음으로, 개발 서버(120)는 어플리케이션 스토어(130)로부터 어플리케이션의 개발 및 유지 보수와 관련된 요청을 수신한다. 이를 수신하여 개발 클라이언트 장치(110-1, 110-2, 110-3)로 상기 요청을 전송할 수 있다. 개발 서버(120)는 어플리케이션 스토어(130)를 통해 호스팅 서비스 운영자(160)로부터 어플리케이션의 개발 및 거래 관련 정보를 수신할 수 있다. 개발 서버(120)는 상기 개발 및 거래 관련 정보를 기반으로 어플리케이션의 개발을 지원한다. 여기서 개발 관련 정보는 어플리케이션의 개발 요청 또는 유지 보수와 관련된 정보를 포함할 수 있다. 또한, 개발 관련 정보는 어플리케이션 기본 정보, 검증 정보 및 버전 정보 중 적어도 어느 하나를 포함할 수 있다. 기본 정보는 어플리케이션 이름, ID(식별코드), 지원서비스, 요약, 설명, 키워드, 가격, 판매수, 카테고리, 이미지를 포함할 수 있고, 검증정보는 검증요청정보, 검증상태정보, 검증결과보고서를 포함할 수 있으며, 버전정보는 버전 코드, 소스 관리(DVCS/SCM)에서 제공하는 Branch, Tag, Revision 및 제목/설명/변경사항을 포함할 수 있다. 개발 서버(120)는 어플리케이션 개발 환경 및 도구를 제공하고, 어플리케이션의 운영 및 관리를 지원한다. 또한, 어플리케이션의 유지 보수, 기능 개선에 대한 개발 요청을 관리한다. 또한, 어플리케이션 검증을 통해 어플리케이션의 안정성을 확보할 수 있도록 한다.
어플리케이션 스토어(130)는 개발 서버(120)를 통해 개발된 어플리케이션에 대한 정보를 관리하고 거래를 중계 및 관리한다. 어플리케이션 스토어(130)는 일종의 마켓 개념으로 공급자는 어플리케이션 개발자이고, 소비자는 호스팅 서비스 운영자(160)로서, 실제로 어플리케이션 서비스를 운영하는 자이다. 즉, 어플리케이션 스토어(130)는 상기 호스팅 서비스 운영자(160)로부터 사용자 인터페이스(150)를 통해 어플리케이션과 관련된 정보 및 요구를 입력받고, 이러한 정보 및 요구를 개발 서버(120)를 통해 개발 클라이언트 장치(110-1, 110-2, 110-3)로 전송한다. 즉, 호스팅 서비스 운영자(160)는 어플리케이션의 개발을 요청하고, 또는 어플리케이션 스토어(160)로부터 특정 어플리케이션을 구매하여 호스팅 서비스 장치(140-1, 140-2, 140-3)를 통해 어플리케이션 서비스를 실제 운영하는 어플리케이션 스토어(130)의 고객이다. 호스팅 서비스 운영자(160)는 전술한 바와 같이, 사용자 인터페이스(150)를 통해 어플리케이션 스토어(130)에 개발 관련 정보를 입력할 수 있다. 어플리케이션 스토어(130)는 개발 서버(120)로부터 다양한 어플리케이션을 수신하여 이를 등록할 수 있고, 다수의 어플리케이션을 확보하여 호스팅 서비스 운영자(160)와의 어플리케이션 거래의 중계자 역할을 하고, 이를 통해 수익을 창출한다. 호스팅 서비스 운영자(160)는 어플리케이션 스토어(130)에 등록된 어플리케이션을 구매시 결재 방법을 선택하여 결제할 수 있다. 또한, 개발 서버(120)에 접속하여 거래 조건 사항대로 어플리케이션이 개발되었는지 확인할 수 있다. 필요에 따라서, 어플리케이션이 거래 조건 사항에 부합하지 않는 경우, 어플리케이션 스토어(130)에 대해 결재 금액의 환불을 요청할 수 있다. 또한, 어플리케이션 스토어(130)는 어플리케이션 및 어플리케이션 개발자를 평가함에 있어서, 상기 개발자가 개발한 어플리케이션의 사용 정보를 제공할 수 있다.
마지막으로, 호스팅 서비스 장치(140)는 어플리케이션 스토어(130)로부터 구입한 어플리케이션을 실행할 수 있도록 실행 환경을 제공한다. 호스팅 서비스 장치(140)는 상기 어플리케이션을 웹 서비스 상에서 실행할 수 있는 환경을 제공할 수 있다. 즉, 호스팅 서비스 운영자(160)는 실질적으로 호스팅 서비스 장치(140)를 통해 구매한 어플리케이션을 실행한다. 호스팅 서비스 이용자(미도시)는 호스팅 서비스 운영자(160)가 호스팅 서비스 장치(140)를 통해 운영하는 어플리케이션 서비스를 이용한다. 경우에 따라, 호스팅 서비스 이용자(미도시)와 호스팅 서비스 운영자(160)는 동일인일 수 있다.
호스팅 서비스 장치(140)는 어플리케이션 서비스를 실질적으로 구현할 수 있고, 어플리케이션 스토어(130)와 통신하여, 어플리케이션 정보, 광고 설정 정보, 어플리케이션 거래 정보, 어플리케이션 관련 각종 통계 정보 등을 송수신할 수 있다. 여기서, 통계 정보는 어플리케이션 사용 여부, 설치, 제거, 업그레이드, 어플리케이션 실행 결과 중 정상, 오류의 수치 및 비율 중 적어도 어느 하나를 포함할 수 있다.
개발 서버의 구성
도 3은 본 발명의 일 실시예에 따른 개발 서버(120)를 구체적으로 나타낸 상세블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 개발 서버(120)는 계정 관리부(121), 개발 도구 제공부(122), 통신부(123), 관리부(124) 및 검증부(125)를 포함할 수 있다.
도 3을 참조하면, 계정 관리부(121)는 어플리케이션과 관련된 계정을 관리한다. 여기서, 계정이란 용어는 어플리케이션과 관련된 시스템의 ID로 기본 정의할 수 있다. 본 발명의 일 실시예에 있어서, 어플리케이션과 관련된 시스템은 UNIX 시스템일 수 있다. 따라서, 계정은 UNIX 시스템의 ID일 수 있다. 계정 관리부(121)는 서버의 계정뿐만 아니라 데이터베이스의 계정도 관리한다. 즉, 계정의 생성, 제거, 정보 변경과 같은 작업을 수행한다. 서버 계정은 어플리케이션 스토어(130)에서의 계정을 포함할 수 있다. 즉, 어플리케이션 스토어(130)에서도 계정 관리부(미도시)를 두어 각 개발 서버(120)의 계정을 생성, 등록 및 제거하는 기능을 수행하는데, 여기서 쓰이는 각 개발 서버(120)의 계정을 상기 계정 관리부(121)에서도 관리한다.
계정 관리부(121)는 개발 서버(120)에 접속하는 다수의 개발 클라이인트(110)의 계정을 관리할 수 있다. 즉, 각 개발 클라이언트(110)의 계정을 인증하고, 인증된 계정을 기반으로 각각의 개발 클라이언트(110)의 과거 어플리케이션 관련 이력을 추출할 수 있다. 계정과 관련된 정보는 데이터베이스(126)에 저장된다.
개발 도구 제공부(122)는 개발 클라이언트(110)가 어플리케이션을 실제 개발하는데 필요한 개발 도구 및 관련 기능을 제공하는 역할을 수행한다. 개발 도구 제공부(122)에서 개발 클라이언트(110)에 제공하는 도구는 웹 개발 도구를 포함한다. 웹 개발 도구는 웹을 통해 어플리케이션의 소스(source)를 수정하고, 테스트할 수 있다. 또한, 부가적인 디버깅(debugging) 도구를 제공한다. 웹 개발 도구는 직접 www(world wide web)로 어플리케이션을 개발할 수 있는 도구를 포함한다. 개발 클라이언트(110)는 개발 도구 제공부(122)에서 제공하는 개발 도구를 이용하여 어플리케이션을 용이하게 개발할 수 있다. 본 발명의 다른 실시예에 있어서, 개발 클라이언트(110)는 SSH, FTP, Telnet 및 소스 관리 도구 중 적어도 어느 하나와 같은 쉘 명령이나 파일관리가 가능한 프로토콜의 클라이언트를 통해 직접 어플리케이션을 개발할 수도 있다. 개발 도구를 통해 개발된 어플리케이션 및 관련 정보는 데이터베이스(126)에 저장된다. 개발 도구 제공부(122)는 어플리케이션 소스를 공개하는 방법을 제공한다. 어플리케이션 소스를 공개하는 방법은 어플리케이션 스토어(130)나 개발 서버(120)를 중 어느 하나 이상에서 소스 관리 도구와 버전 관리 도구를 제공하는 방법을 포함한다. 공개된 어플리케이션 소스를 통해 외부 개발자는 어플리케이션 개발에 대해 참여할 수 있다.
통신부(123)는 개발 클라이언트(110) 및 어플리케이션 스토어(130)와의 통신을 위한 구성요소이다. 통신부(123)는 네트워크(미도시)를 이용하여 개발 클라이언트(110) 및 어플리케이션 스토어(130)와 통신할 수 있다. 상기 네트워크는 무선 또는 유선 네트워크일 수 있다. 즉, 개발 서버(120)는 개발 클라이언트(110)를 이용하여 개발한 어플리케이션을 통신부(123)를 통해 어플리케이션 스토어(130)로 전송하여 등록시킬 수 있으며, 어플리케이션 스토어(130)로부터 개발 관련 정보를 수신하여 이를 개발 클라이언트(110)로 제공할 수도 있다.
개발 서버(120)는 통신부(123)를 통해 어플리케이션 스토어(130)로부터 어플리케이션 기본 정보, 어플리케이션 사용 정보, 어플리케이션 개발 환경 정보, 어플리케이션 버전 정보, 어플리케이션 검증 정보, 어플리케이션 거래 정보 및 어플리케이션 로그 정보를 수신할 수 있다. 어플리케이션 기본 정보는 어플리케이션의 이름, ID(예컨대, 식별 코드), 지원 서비스, 요약, 설명, 키워드, 가격, 판매수, 카테고리 및 이미지 중 적어도 어느 하나를 포함할 수 있다. 어플리케이션 사용 정보는 어플리케이션의 사용과 관련된 통계 정보를 포함한다. 어플리케이션을 개발 환경 정보는 호스트 정보, 호스트 계정 정보(SSH), 웹 개발 환경(web IDE: Web Integrated Development Environment(통합 개발 환경)), 단위 테스트 도구, 소스 관리 도구 및 버전 관리 도구 중 적어도 어느 하나를 포함할 수 있다. 어플리케이션 버전 정보는 버전 목록 또는 상세 로그 정보를 포함할 수 있다. 어플리케이션 검증 정보는 검증 요청 및 결과 정보, 검증 관련 이력 등을 포함할 수 있다. 어플리케이션 거래 정보는 어플리케이션과 관련된 거래 및 요구 사항, 그리고 결재와 관련된 정보를 포함한다. 어플리케이션 로그 정보는 어플리케이션의 오류 및 기타 모니터링 관련 정보를 포함할 수 있다. 상기와 같이 통신부(123)를 통해 수신한 정보는 데이터베이스(126)에 저장될 수 있고, 필요에 따라 정보를 추출하여 활용할 수 있다. 또한 어플리케이션 스토어(130)로부터 수신한 상기 정보들은 개발 클라이언트(110) 장치에 제공된다. 개발 클라이언트(110)는 상기 정보를 참조하여 어플리케이션을 개발함으로써 호스팅 서비스 운영자(160)가 원하는 어플리케이션을 개발할 수 있다.
개발 서버(120)는 상기 통신부(123)를 통해 어플리케이션 스토어(130)로 어플리케이션 기본 정보 변경 요청, 개발 환경 변경 요청, 버전 추가/변경 요청, 검증 요청, 거래 처리 요청 및 테스트 결과 정보를 전송할 수 있다. 즉, 어플리케이션 스토어(130)로부터 수신한 정보의 변경이 발생한 경우, 상기 변경을 어플리케이션 스토어(130)로 전송한다.
관리부(124)는 웹이나 상기 계정 관리부(121)에서 관리하는 계정을 통해 어플리케이션의 소스의 버전, 어플리케이션의 기본 정보 및 부가 정보 중 적어도 어느 하나를 관리한다. 부가 정보는 어플리케이션 스토어(130)로부터 수신한 정보 중 기본 정보를 제외한 모든 정보를 포함한다. 즉, 어플리케이션 사용정보, 개발 환경 정보, 버전 정보, 검증 정보, 거래 정보 및 로그 정보를 포함할 수 있다. 관리부(124)는 분산 버전 관리 시스템(DVCS) 및 소스 코드 관리(SCM) 중 어느 하나를 기반으로 상기 버전 및 정보를 관리할 수 있다. 관리부(124)는 개발 어플리케이션의 각각의 개발 항목에 대해 버전을 관리할 수 있다. 버전 정보는 버전 코드(버전 코드는 버전을 인식할 수 있는 코드를 의미함), 소스 관리(DVCS/SCM)에서 제공하는 Branch, Tag, Revision 및 제목/설명/변경사항을 포함할 수 있다. 버전은 어플리케이션의 기능 및 인터페이스(interface)와 관련이 있으며, 호환성 및 상호 관계를 담보한다.
버전은 다음과 같이 구분할 수 있다.
1. APP_ID : 어플리케이션 ID
2. MAJOR : 주 버전
3. MINOR : 하위 버전
4. RELEASE : 릴리즈(등록) 일련번호
5. STATE : 릴리즈(등록) 상태 (A-알파/B-베타/R-릴리즈)
따라서, 버전 정보는 [APP_ID]_v.[MAJOR_VERSION].[MINOR_VERSION].[RELEASE][STATE]와 같이 나타낼 수 있다.
도 4는 본 발명의 일 실시예에 따라 Revision을 이용하여 버전 관리를 하는 모습을 설명하기 위한 개념도이다. 도 4에 도시된 바와 같이, Revision에 따라 순차적으로 table을 정리해 놓고 있으며, 이 중에서 릴리즈(Release)된 Revision 번호를 따로 관리해 놓고 있다. 예컨대, Revision 번호 305 및 311이 릴리즈된 경우, 305는 주버전이 0이 되고, 하위 버전도 0이 되며, 릴리즈 일련번호는 1, 그리고 상태는 A가 되어 [APP_ID]_v.0.0.1a가 된다. 다음으로, 311은 두번째로 릴리즈된 것으로 305와 릴리즈 일련번호만 다르게 하여 관리할 수 있다. 도 4에 도시된 예는 버전 관리의 일 실시예을 도시한 것으로, 버전 관리가 반드시 이에 국한되는 것은 아니다.
다음으로, 다시 도 3으로 돌아가서, 검증부(125)는 개발 클라이언트(110)를 이용하여 개발 서버(120)에서 개발된 어플리케이션을 검증하는 환경을 제공한다. 검증부(125)를 통해 개발이 완료된 어플리케이션이 사용상에 문제가 없는지, 정상적으로 운영될 수 있는지, 사용자에게 적합한지, 시스템 상에서 오류가 발생하지 않는지 등을 검증한다. 또한, 보안 상의 문제점이 있는지도 검증할 수 있다.
데이터베이스(126)는 개발 서버(120) 내의 상기 구성들과 관련된 각종 정보를 저장하고 있다. 개발 서버(120) 내의 구성은 데이터베이스(126)를 기반으로 필요한 정보를 추출하여 관리할 수 있다.
어플리케이션 스토어의 구성
도 5는 본 발명의 일 실시예에 따른 어플리케이션 스토어(500)의 구성을 개략적으로 나타낸 블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 어플리케이션 스토어(500)는 계정 관리부(510), 통신부(520), 결제 관리부(530), 어플리케이션부(540), 광고 관리부(550) 및 서버 관리부(560)를 포함할 수 있다. 또한, 데이터베이스(570)를 더 포함할 수 있다.
도 5를 참조하면, 계정 관리부(510)는 다수의 개발 서버(120)의 계정을 관리한다. 계정 관리부(510)는 개발 서버(120) 고유의 계정을 생성할 수 있다. 또한 생성된 계정을 제거하거나, 백업할 수 있다. 계정 관리부(510)는 계정과 관련된 정보를 데이터 베이스(570)에 저장할 수 있고, 개발 서버(120)로 전송할 수 있다. 개발 서버(120)의 계정 관리부(121)는 상기 계정을 관리하게 할 수 있다.
통신부(520)는 다른 디바이스와의 통신을 담당한다. 통신부(520)를 통해 개발 서버(120) 또는 호스팅 서비스 장치(140)와 통신할 수 있다. 통신을 네트워크를 통해 할 수 있는데, 여기서 네트워크는 무선 또는 유선 네트워크일 수 있다.
결제 관리부(530)는 어플리케이션의 거래에 따른 수수료에 대한 결제를 관리한다. 결제 관리부(530)는 호스팅 서비스 운영자(160)가 구매하기 원하는 어플리케이션을 장바구니에 담거나 선택한 어플리케이션을 결제할 수 있는 기능을 제공한다. 결제 관리부(530)는 다양한 결제 방식을 제공할 수 있다. 예컨대, 호스팅 서비스 운영자(160)에게는 개발된 어플리케이션에 대한 구매 금액의 결제를, 개발 클라이언트(110)에게는 어플리케이션 개발에 대한 수익금의 할당을, 어플리케이션 스토어(130)는 어플리케이션의 중계에 따른 수수료의 할당 등 전반적인 금액과 관련된 결제 방법 및 결제 내역 등을 관리한다. 결제 관리부(530)는 구매한 어플리케이션에 대한 거래 조건을 호스팅 서비스 운영자(160)로부터 입력받아 개발 서버(120)를 통해 개발 클라이언트(110)에게 제공할 수 있는 기능을 갖는다. 또한 결제 관리부(530)는 상기 거래 조건 및 거래 방법을 데이터베이스(570)에 저장할 수 있다. 이렇게 개발 클라이언트(110)에게 제공된 거래 조건 및 거래 방법에 대해 개발자는 승인하거나 또는 다른 거래 조건을 제시할 수 있는데 결제 관리부(530)는 그 결과를 수신하여 데이터베이스(570)에 저장할 수 있다. 결제 관리부(530)는 호스팅 서비스 운영자(160)로부터 다른 거래 조건에 대해 승인하거나 또 다른 거래 조건을 제시하는 경우가 발생할 수 있는데, 호스팅 서비스 운영자(160)의 결정에 따른 입력 결과를 수신하여 데이터베이스(570)에 저장할 수 있다. 결제 관리부(530)는 거래 내용에 대해 거래 조건의 만족 여부를 확인하고, 거래 조건에 따라 결재하는 기능을 제공할 수 있다. 또한, 거래 조건에 따른 결재에 대해 취소 또는 환불할 수 있는 기능을 제공할 수 있다.
어플리케이션부(540)는 어플리케이션 소스부(542), 어플리케이션 관리부(544) 및 어플리케이션 사용 정보 통계 분석부(546)를 포함할 수 있다. 어플리케이션부(540)는 어플리케이션의 각 버전에 대한 소스를 보유하고, 어플리케이션의 정보 요청 사항을 처리하며, 어플리케이션의 사용과 관련된 정보를 수집 분석한다. 어플리케이션 소스부(542)는 어플리케이션의 각 버전에 대한 소스를 관리하고, 관련 소스를 데이터베이스(570)에 저장한다. 어플리케이션 관리부(544)는 어플리케이션 관련 정보의 요청사항을 처리한다. 전술한 바와 같이, 상기 어플리케이션 관련 정보는 어플리케이션 기본 정보, 거래 정보, 버전 정보, 검증 정보 및 개발 환경 정보가 있다. 즉, 개발 서버(120)로부터 수신하는 어플리케이션 기본 정보 변경 요청, 개발 환경 정보 변경 요청, 어플리케이션 버전 추가/변경 요청, 어플리케이션 검증 요청, 거래 처리 요청 등을 처리한다. 또한, 어플리케이션 관리부(544)는 구매한 어플리케이션에 대한 관리 및 환경 설정을 할 수 있는 기능을 제공한다. 어플리케이션 사용 정보 통계 분석부(546)는 사용자 호스팅 장치(140)와 연계하여 어플리케이션의 사용에 대한 통계를 수집하고 이를 분석한다.
광고부(550)는 어플리케이션에 대한 광고를 지정하고, 각종 정보를 관리한다. 상기 어플리케이션은 바람직하게는 무료 어플리케이션이다. 광고는 무료 어플리케이션일 경우, 해당 어플리케이션의 디자인 영역에 광고를 출력하는 방식으로 호스팅 서비스의 고객에게 표시된다. 광고는 호스팅 서비스의 고객을 통해 발생하는 뷰 또는 클릭에 대한 광고 수익을 일정 부분 개발 클라이언트(110)의 개발자에게 지급할 수 있다. 광고부(550)는 무료 어플리케이션의 상기 광고의 분류 및 종류를 선택할 수 있다. 여기서 종류는 배너 광고, 팝업 광고, 텍스트 광고 중 적어도 어느 하나일 수 있다. 광고의 분류는 관심 분야와 같이 하나 이상의 키워드를 선택하는 방식으로 분류될 수 있다. 광고는 무료 어플리케이션에서 자동으로 해당 광고의 내용 또는 관련 웹 디자인 관련 소스가 추가되는 방식으로 출력될 수 있다. 또한, 상기 광고는 광고주, 클릭 당 지불 비용, 뷰 지불 비용, 지불 제한, 지불 이력, 충전 잔여금, 광고 활성 기간 정보를 기반으로 제공될 수 있다.
광고부(550)는 광고 제공자 정보 관리부(552) 및 광고 관리부(554)를 포함할 수 있다. 광고 제공자 정보 관리부(552)는 광고 제공자(광고 제공자란 어플리케이션에 광고를 제공하는 사람으로서, 광고 및 광고 관련 정보를 제공하는 사람을 의미함)에 대한 정보를 관리한다. 광고 제공자 정보 관리부(552)를 통해 광고 제공자는 광고 금액에 대한 충전이나, 광고 방식, 기타 광고 관련 내용을 설정할 수 있다. 광고 관리부(554)는 광고와 어플리케이션과의 연관 정보를 관리한다. 예컨대, 광고가 어플리케이션에서 나타나는 시간, 출력되는 위치, 빈도 수 등 어플리케이션과 연동시에 필요한 각종 정보들을 관리한다.
서버 관리부(560)는 어플리케이션의 실행을 위한 런타임 정보, 각 호스팅 서비스 정보, 분산 데이터 베이스의 서버 정보, 상기 개발 서버 정보를 관리한다. 서버 관리부(560)는 호스팅/런타임 서버 정보 관리부(562), 데이터베이스 서버 정보 관리부(564), 개발 서버 정보 관리부(566) 및 어플리케이션 보고서 정보 관리부(568)를 포함할 수 있다. 호스팅/런타임 서버 정보 관리부(562)는 어플리케이션 실행을 위한 런타임과 각 호스팅 서비스 관련 정보를 관리한다. 데이터베이스 서버 정보 관리부(564)는 분산되어 있는 각각의 데이터베이스(570) 서버의 정보를 관리한다. 개발 서버 정보 관리부(566)는 각 개발 서버(120)의 정보를 관리한다. 어플리케이션 보고서 정보 관리부(568)는 각 어플리케이션에 대한 보고서를 수집하여 데이터베이스(570)에 저장하고, 분석한다. 각 어플리케이션에서 발생한 오류나 경고 등에 대한 보고서는 모두 상기 어플리케이션 보고서 정보 관리부(568)를 통해 관리된다. 즉, 어플리케이션 스토어(500)는 어플리케이션 개발자에게 어플리케이션 개발 서버(120)를 통해 어플리케이션의 통계정보 및 어플리케이션 보고서를 제공한다.
데이터베이스(570)는 어플리케이션 스토어(500) 내의 각종 구성요소로부터 다양한 정보들을 받아 저장하고 있다. 또한, 각 구성요소가 요구하는 정보를 추출하여 출력한다.
또한, 어플리케이션 스토어(500)는 호스팅 서비스 장치(140, 600)를 사용하는 대가를 호스팅 서비스 운영자(160)에게 청구할 수 있다.
호스팅 서비스 장치의 구성
도 6은 본 발명의 일 실시예에 따른 호스팅 서비스 장치(600)의 구성을 개략적으로 나타낸 블록도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 호스팅 서비스 장치(600)는 어플리케이션 서비스 관리부(610) 및 어플리케이션 런타임 관리부(620)를 포함할 수 있다. 본 발명의 실시예에 따르면, 어플리케이션 서비스 관리부(610) 및 어플리케이션 런타임 관리부(620)는 서로 독립된 장치일 수 있다.
도 6을 참조하면, 어플리케이션 서비스 관리부(610)는 어플리케이션 설치/제거부(612), 어플리케이션 관리부(614), 어플리케이션 업그레이드부(616) 및 어플리케이션 로그/통계부(618)를 포함할 수 있다.
어플리케이션 설치/제거부(612)는 어플리케이션을 설치 또는 제거한다. 즉, 호스팅 서비스 운영자(160)는 어플리케이션 설치/제거부(612)에서 이를 설치하거나 또는 제거할 수 있다. 어플리케이션 관리부(614)는 어플리케이션의 사용 여부 등 관리 기능을 제공한다. 또한, 해당 호스팅 서비스 운영자(160)의 어플리케이션에 대한 평가, 리뷰, 질의/응답을 관리한다. 다음으로, 어플리케이션 업그레이드부(616)는 어플리케이션의 업그레이드를 관리한다. 즉, 호스팅 서비스 운영자(160)에게 어플리케이션의 업그레이드를 제공한다. 어플리케이션 로그/통계부(618)는 어플리케이션 로그 및 통계 정보를 어플리케이션 스토어(130)에 요청하여 호스팅 서비스 운영자(160)에게 제공한다. 여기서, 통계 정보는 어플리케이션 사용 여부, 설치, 제거, 업그레이드, 어플리케이션 실행 결과 중 정상, 오류의 수치 및 비율 중 적어도 어느 하나를 포함할 수 있다.
어플리케이션 런타임 관리부(620)는 어플리케이션 런타임부(622), 어플리케이션 통계/모니터링부(624) 및 어플리케이션 정보 관리부(626)를 포함한다. 즉, 전술한 바와 같이, 어플리케이션 런타임 관리부(620)는 어플리케이션 실행에 대해 처리하고 그 결과를 반환한다. 또한, 결과에 대한 각 정보(예컨대, 실행 시간, 실행 횟수, 성능, 실행 결과, 오류 정보 등)를 관리하고, 이를 어플리케이션 스토어(130)로 전송한다. 이때, 호스팅 서비스 장치(600)를 사용하는 대가를 호스팅 서비스 운영자(160)에게 청구할 수 있다.
어플리케이션 런타임부(622)는 어플리케이션 실행을 실제 처리한다. 즉, 어플리케이션을 실질적으로 실행시키는 구성요소이다. 어플리케이션 통계/모니터링부(624)는 어플리케이션 실행에 대한 결과 정보를 수집하고, 임시 저장하며, 관련 정보를 어플리케이션 스토어(130)로 전송한다. 어플리케이션 정보 관리부(626)는 어플리케이션 런타임 중에 처리할 각각의 어플리케이션과 관련된 정보를 관리한다.
어플리케이션의 개발 및 개발 대행
도 7은 본 발명의 일 실시예에 따른 어플리케이션의 개발 및 등록 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 각각의 개발 클라이언트(110)는 어플리케이션 스토어(130)에 호스팅 서비스 장치(140)에서 실행되는 어플리케이션을 개발 서버(120)를 이용하여 개발을 하기 위해서는 먼저, 개발을 위한 어플리케이션 스토어(130)에 계정을 생성한다(710). 이렇게 생성된 계정은 어플리케이션 스토어(130) 및 개발 서버(120)의 계정 관리부에서 관리된다. 어플리케이션 스토어(130)는 생성된 계정을 가입시키고, 계정 정보를 데이터베이스에 저장한다(712). 다음으로, 개발 서버(120)에 단계(710)에서 생성된 어플리케이션 스토어(130) 계정을 인증하여 계정 소유의 어플리케이션 중 특정 어플리케이션 또는 새로운 어플리케이션을 개발할지 선택한다(714). 만약, 선택한 어플리케이션이 새로운 어플리케이션이면(716), 개발 클라이언트(110)는 새로운 어플리케이션 개발을 위해 어플리케이션 정보를 입력하고, 이를 데이터베이스에 저장한다(718). 다음으로, 개발 서버(120)는 자동으로 해당 어플리케이션의 개발 환경을 구성한다(720). 개발 환경 구성 단계(720)에서, 개발 서버(120)는 전술한 바와 같이, 분산 소스 관리 시스템(DVCS) 또는 소스관리 시스템(SCM), 시스템 운영 체제 계정, 데이터 스토어, 개발 도구(SDK)를 이용하여 개발 환경을 구성할 수 있다. 개발 도구는 소스 형태의 라이브러리 및 디버깅 도구, 버전 관리 도구 및 성능 관리 도구 중 적어도 어느 하나를 포함할 수 있다. 그리고, 개발 서버(120)는 상기 구성된 개발 환경을 개발 클라이언트(110)에 제공한다. 다음으로, 개발 클라이언트(110)는 개발 서버(120)를 통해 어플리케이션에 대해 소스 코드 및 데이터베이스 형태의 저장소를 이용하여, 웹 기반의 개발 도구 또는 SSH, FTP, Telnet 등의 파일 전송 및 시스템 명령이 가능한 프로토콜을 지원하는 클라이언트 프로그램을 이용하여 개발한다(722). 개발 클라이언트(110)는 상기와 같이 개발한 개발 결과를 어플리케이션 버전으로 어플리케이션 스토어(130)의 데이터베이스와 개발 서버(120)의 소스 저장소에 등록한다(724). 이 등록 단계(724)에서, 분산 소소 관리 시스템(DVCS) 또는 소스 관리 시스템(SCM)을 통해 버전을 관리할 수 있다. 다음으로, 개발 서버(120)는 어플리케이션 스토어(130)에 등록 요청된 어플리케이션을 어플리케이션 스토어(130)의 관리자가 개발 서버(120)의 검증부(125)를 이용하여 검증한다(726). 검증이 완료되면, 검증된 버전을 어플리케이션 스토어(130)에 최종 등록한다.
앞서, 어플리케이션 선택 단계(714)에서, 기존 어플리케이션을 선택하는 경우(716), 어플리케이션의 정보를 수정한다(730). 이때, 어플리케이션의 가격이 무료인지 판단한다(732). 가격이 무료가 아닌 경우, 어플리케이션의 정보 중 가격을 뺀 나머지 어플리케이션의 이름, 요약, 설명, 카테고리, 태그, 라이선스, 호환 서비스, 이미지 등의 정보를 수정한다. 만약 가격이 무료인 경우, 광고 사용을 선택할 수 있다(734). 광고를 사용할 경우, 광고 분류 또는 광고의 종류를 선택한다(736). 그리고는 상기와 같이 선택된 광고를 제공하고, 나머지 정보를 수정할 수 있다(738).
도 8은 본 발명의 일 실시예에 따른 어플리케이션의 유지보수, 기능 개선 및 개발 진행을 설명하기 위한 흐름도이다.
도 8을 참조하면, 호스팅 서비스 운영자(160)는 어플리케이션의 유지 보수, 기능 개선 또는 개발 진행을 위해, 어플리케이션 스토어(130)의 요청 관리 또는 어플리케이션 서비스관리부(610)의 어플리케이션의 개발 요청 관리에 유지 보수, 기능 개선 또는 개발 진행의 요청을 선택한다(810). 다음으로, 호스팅 서비스 운영자(160)에게 어플리케이션과 관련된 표준 약관을 출력한다(820). 그리고는, 상기 표준 약관의 확인 여부, 거래 방법(예컨대, 카드, 포인트, 계좌 이체 등과 같은 결재 방법을 포함함)에 대한 이해를 확인한다(830). 다음, 거래 조건을 입력한다(840). 여기서, 상기 개발 조건은 개발 내용, 계약금, 최종 결재, 개발 완료 시점, 개발 완료 시점 후 개발 미완료시에 대한 처리 및 개발 완료 시점 후 유지 보수에 대한 내용 중 적어도 어느 하나를 포함한다. 어플리케이션 스토어(130)는 이를 데이터베이스에 저장한다(850). 다음, 개발 클라이언트(110)로 상기 거래 조건을 전송한다(860). 전송 방식은 SMS 및 이메일 중 어느 하나 등의 방법을 활용할 수 있다. 개발 클라이언트(110)는 거래 조건에 대해 인지하고, 상기 거래 조건을 승인할지 결정한다(870). 만약, 거래 조건을 승인한 경우, 승인된 거래 조건대로 어플리케이션의 개발을 진행하면 된다(880). 만약, 거래 조건을 승인하지 않고, 거절 또는 대기를 선택하는 경우, 거래 조건에 대해 개발 클라이언트(110)의 개발자와 호스팅 서비스 운영자(160)가 추가 협의를 입력하고, 추가 협의 사항을 주고 받음으로써 협상을 진행할 수 있다(890). 또한, 호스팅 서비스 운영자(160)가 거래 조건을 변경하고, 이를 개발자가 승인하는 경우도 있을 수 있다.
도 9는 본 발명의 일 실시예에 따른 개발 클라이언트 간의 개발 대행을 설명하기 위한 흐름도이다.
도 9를 참조하면, 개발 대행을 위해서는, 먼저 개발 진행의 거래 조건(도 8 참조)을 다른 개발 클라이언트(110)의 개발자에게 의뢰할지 선택한다(910). 개발 대행을 의뢰하는 개발 클라이언트(110)는 어플리케이션 스토어(130)에 다른 개발 클라이언트(110)에게 개발 대행에 대한 의뢰 내용을 입력한다(920). 어플리케이션 스토어(130)는 의뢰 내용을 저장하고(930), 다른 개발 클라이언트(110)에 이메일 또는 게시판을 통해 의뢰 내용을 공지할 수 있다(940). 다음, 다른 개발 클라이언트(110)의 개발자는 개발 대행을 확인하고, 상기 개발 조건을 확인한 후, 개발 대행을 통한 개발을 신청한다(950). 개발 대행의 신청은 다수가 될 수 있다. 개발 대행을 하고자 하는 다른 개발 클라이언트(110)의 개발자에 대한 평가와 정보를 보고, 개발 대행을 신청한 개발자는 개발 대행을 수락할지 결정한다(960). 개발 대행을 수락하지 않는 경우, 또 다른 개발 클라이언트의 개발자를 통한 개발 대행을 위해 또 다른 개발자의 개발 대행 신청을 기다린다. 개발 대행을 수락한 경우, 개발 대행 신청자에게 개발 대행을 의뢰하고 개발 대행자는 어플리케이션의 개발을 수행한다(980).
도면에 도시되진 않았지만, 개발 진행 중에 어플리케이션의 개발 클라이언트(110)와 통신이 되지 않는 등, 연락이 되지 않는 경우, 호스팅 서비스 운영자(160)와 같은 어플리케이션 개발 의뢰자는 상기 어플리케이션의 개발을 개발 대행을 통해 다른 어플리케이션 개발 클라이언트(110)에게 요청할 수 있다. 이는 어플리케이션 스토어(130)의 관리자에게 요청할 수 있다. 이후, 어플리케이션 스토어 관리자는 개발 대행에 대해 이를 허용하거나 거부할지 선택한다. 만약 어플리케이션 스토어 관리자가 개발 대행 요청을 허용하면 개발 대항을 이메일 또는 게시판에 게시하고 개발 대행 신청을 허용할 수 있다.
어플리케이션의 거래 및 구매
도 10은 본 발명의 일 실시예에 따른 어플리케이션의 거래 실행 확인 및 결재 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 개발, 유지 보수 또는 기능 개선이 완료된 어플리케이션의 거래를 위해 먼저, 개발 클라이언트(110)는 어플리케이션 스토어(130) 상에서 어플리케이션의 개발을 수락한다(1010). 개발 클라이언트(110)에서 어플리케이션의 개발을 수락하면, 어플리케이션 개발자(미도시)가 어플리케이션 스토어(130)를 통해 해당 어플리케이션의 개발의 개발 조건에 대해 결재 조건을 정하고, 결재 조건에 따라 계약금과 상기 계약금의 호스팅 서비스 운영자(160)의 결재 여부를 확인한다(1020).
다음, 상기 어플리케이션 개발자가 결재 여부를 확인한 후, 개발 클라이언트(110)를 통해 상기 어플리케이션의 개발을 진행하고, 그 개발 상황을 개발 서버(120) 또는 어플리케이션 스토어(130) 상에 입력한다(1030). 상기 개발 상황이 변경되면 그 내용을 SMS 또는 이메일 등으로 호스팅 서비스 운영자(160)에게 전달하고, 상기 내용을 개발 클라이언트(110)와 어플리케이션 스토어(130)에 출력한다(1040). 여기서, 개발 상황은 어플리케이션의 개발 진행률 및 텍스트 중 어느 하나를 포함할 수 있다.
다음으로, 어플리케이션의 개발이 완료되면 호스팅 서비스 운영자(160)는 해당 어플리케이션의 개발을 개발 서버(120)를 통해 확인한다(1050). 이때, 어플리케이션의 개발의 확인에 대해 재요구 또는 개발 완료를 확정할 수 있다. 또한, 개발이 완료된 소스 코드를 어플리케이션 스토어(130)의 관리자(미도시)가 검증한다(1060). 검증 결과 어플리케이션의 소스 코드뿐만 아니라 다른 부분에도 이상이 없으면(1070), 어플리케이션의 개발을 최종 완료하고, 이를 개발 클라이언트(110) 및 호스팅 서비스 운영자(160)에게 SMS 또는 이메일 등을 통해 통지한다(1080). 마지막으로, 호스팅 서비스 운영자(160)는 결재 조건에 따른 결재 방법을 통해 최종 결재를 진행한다(1090).
도면에 도시되진 않았지만, 어플리케이션의 구매 방법은 다음과 같다. 먼저, 호스팅 서비스 운영자(160)가 어플리케이션 서비스를 위해 어플리케이션을 설치, 삭제, 업그레이드가 가능한 관리 도구를 이용하여 어플리케이션 스토어(130)에 등록된 어플리케이션을 구매할 수 있다. 이때, 어플리케이션의 카테고리 선택이나 검색의 방법을 통해 장바구니에 담거나 또는 적접 선택하여 구매할 수 있다. 여기서, 상기 관리 도구는 시스템 명령과 웹을 통해 화면에 출력될 수 있다. 어플리케이션을 선택할 때, 특정 버전을 지정하여 선택할 수 있다.
다음으로, 어플리케이션 관리 도구에서 어플리케이션을 표시하는 단계는 어플리케이션의 판매자(개발 클라이언트의 개발자), 뷰 및 설치 수, 등록일, 평점, 리뷰 등록 수를 통해 정렬하거나 검색하는 방법을 포함할 수 있다. 다음으로, 어플리케이션 장바구니에 담겨 있거나 직접 선택한 어플리케이션을 선택한 어플리케이션 결재 방법을 통해 결재하여 그 정보를 어플리케이션 스토어(130)의 데이터베이스에 저장할 수 있다. 그리고는 호스팅 서비스 운영자(160)가 구매한 어플리케이션에 대해 데이터베이스와 같은 저장소를 지정 서버에 생성하고 해당 어플리케이션을 어플리케이션 스토어(130)에서 지정 서버에 설치한다. 마지막으로, 지정 서버에 설치된 결과를 어플리케이션 스토어(130)에 저장하고 그 결과를 출력한다. 호스팅 서비스 운영자(160)는 어플리케이션에 대해 평가하고 리뷰를 등록할 수 있다. 그리고 질의/응답을 통해 어플리케이션을 유지한다.
광고 등록
도 11은 본 발명의 일 실시예에 따라 어플리케이션에 광고를 등록하는 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 어플리케이션의 광고 등록을 위해 먼저, 광고 제공자(미도시)는 어플리케이션 스토어(130)에 광고 제공자로서 등록한다(1110). 어플리케이션 스토어(130)는 등록된 광고 제공자를 위한 계정을 생성한다(1120). 그리고는, 광고 제공자는 등록된 계정을 통해 인증을 수행하고, 적어도 하나의 광고를 등록한다(1130). 다음, 광고 제공자는 상기 적어도 하나의 광고를 제공하고(1140), 상기 광고에 대한 비용을 충전한다(1150). 이때, 광고 제공자는 광고 제약 조건을 입력할 수 있다. 입력된 광고 제약 조건은 호스팅 서비스 장치에 전송되어 이를 토대로 광고를 제공할 수 있다. 다음 광고 중지 여부를 결정할 수 있는데(1160). 광고 중지를 선택하기 전까지 광고를 지속적으로 제공할 수 있다. 광고 중지를 선택하는 경우, 제공하고 있던 광고를 중지한다(1170).
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (32)

  1. 어플리케이션(application)을 개발하고 검증할 수 있는 환경을 개발 클라이언트 장치에 제공하는 어플리케이션 개발 서버; 및
    상기 개발 서버를 이용하여 개발된 어플리케이션을 등록하고 상기 어플리케이션의 판매를 관리하는 어플리케이션 스토어를 포함하되,
    상기 개발 서버는 상기 어플리케이션 스토어를 통해 호스팅 서비스 운영자 - 호스팅 서비스 운영자는 어플리케이션 스토어의 고객을 의미함 - 로부터 또는 상기 어플리케이션 스토어로부터 중 적어도 어느 하나로부터 상기 어플리케이션의 개발 관련 정보를 수신하여 상기 어플리케이션의 개발을 지원하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  2. 제 1 항에 있어서,
    상기 개발 관련 정보는 상기 어플리케이션의 개발 요청 또는 유지 보수와 관련된 정보를 포함하고,
    상기 어플리케이션을 개발할 수 있는 개발 환경은 호스트 정보, 호스트 계정 정보, 시스템 계정(ID), 보안 쉘(SSH), 파일 전송 프로토콜(FTP), 텔넷(Telnet), 웹 개발 환경(web IDE: Web Integrated Development Environment(통합 개발 환경)), 성능 측정 도구, 프로파일링 도구, 단위 테스트 도구, 소스 관리 도구 및 버전 관리 도구 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  3. 제 1 항에 있어서,
    상기 개발 관련 정보는 어플리케이션 기본 정보, 검증 정보 및 버전 정보 중 적어도 어느 하나를 포함하고,
    상기 기본 정보는 어플리케이션의 이름, ID(식별코드), 지원서비스, 요약, 설명, 키워드, 가격, 판매수, 카테고리, 이미지를 포함하며,
    상기 검증정보는 검증요청정보, 검증상태정보, 검증결과보고서를 포함하고,
    상기 버전정보는 버전 코드, 소스 관리(DVCS/SCM)에서 제공하는 Branch, Tag, Revision 및 제목/설명/변경사항을 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  4. 제 1 항에 있어서, 상기 개발 서버는
    상기 어플리케이션과 관련된 계정 - 계정은 어플리케이션과 관련된 시스템의 ID를 의미함 - 을 관리하는 계정 관리부;
    상기 계정을 이용하여 접속한 상기 개발 클라이언트 장치에 상기 어플리케이션을 개발하는데 필요한 도구를 제공하는 개발 도구 제공부; 및
    상기 개발이 완료된 어플리케이션의 소스 코드를 검증하는 검증부를 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  5. 제 4 항에 있어서, 상기 계정 관리부는
    상기 어플리케이션 개발을 위한 어플리케이션의 시스템 계정을 제공하고, 상기 계정을 통해 인증을 수행하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  6. 제 4 항에 있어서, 상기 개발 도구 제공부는
    웹을 통해 상기 어플리케이션의 소스를 수정하고 상기 소스를 테스트할 수 있으며, 부가적인 디버깅 도구를 상기 개발 클라이언트 장치에 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  7. 제 4 항에 있어서, 상기 개발 서버는
    웹이나 상기 계정을 통해 상기 어플리케이션의 소스의 버전, 상기 어플리케이션의 기본 정보 및 부가 정보 중 적어도 어느 하나를 관리하는 관리부를 더 포함하고,
    상기 관리부는 분산 버전 관리 시스템(DVCS) 및 소스 코드 관리(SCM) 중 어느 하나를 기반으로 관리하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  8. 제 7 항에 있어서, 상기 개발 서버는
    상기 어플리케이션의 소스를 공개하는 방법을 제공하고, 상기 공개된 어플리케이션 소스를 통해 외부 개발자로부터 상기 어플리케이션 개발에 대한 참여를 수신하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  9. 제 4 항에 있어서,
    상기 개발 클라이언트 장치는 상기 개발 서버 및 상기 어플리케이션 스토어 를 통해 상기 어플리케이션의 개발 대행 의뢰 및 개발 대행 수락 메시지를 주고 받음으로써 상기 어플리케이션의 개발을 대행하는 것을 특징으로 하는 어플리케이션 개발 시스템.
  10. 제 9 항에 있어서,
    상기 개발 서버는 상기 개발 클라이언트 간의 개발 대행 의뢰 및 개발 대행 수락과 관련된 내용을 상기 어플리케이션 스토어에 전송하고,
    상기 어플리케이션 스토어는 이메일 또는 게시판을 통해 상기 개발 대행 의뢰 및 개발 대행 수락 관련 내용을 공지하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  11. 제 1 항에 있어서, 상기 어플리케이션 스토어는
    상기 호스팅 서비스 운영자의, 지정되지 않은 개발 클라이언트, 다수의 개발 클라이언트 및 하나의 개발 클라이언트 중 적어도 어느 하나의 개발 클라이언트를 지정하여 상기 어플리케이션의 신규 개발 또는 상기 어플리케이션의 기능 개선의 요청을 수신하고, 상기 요청을 기반으로 상기 어플리케이션의 거래를 수행하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  12. 제 1 항에 있어서, 상기 개발 클라이언트 장치는
    상기 호스팅 서비스 운영자의, 상기 어플리케이션 스토어를 통해 구매한 어플리케이션에 대한 신규 개발 및 유지 보수 중 적어도 어느 하나와 관련된 요청을 상기 어플리케이션 스토어 및 상기 개발 서버를 통해 수신하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  13. 제 1 항에 있어서,
    상기 어플리케이션 스토어 또는 상기 개발 서버는 상기 호스팅 서비스 운영자의 요청에 대응하여 상기 개발 클라이언트로부터 수신한 상기 어플리케이션의 개발 진행 정도 또는 개발 결과와 관련된 내용을 출력하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  14. 제 1 항에 있어서, 상기 어플리케이션 스토어는
    다수의 상기 개발 서버의 계정을 관리하는 계정 관리부;
    상기 어플리케이션의 거래에 대한 결제를 관리하는 결제 관리부;
    상기 개발 서버를 이용하여 개발된 어플리케이션의 각 버전에 대한 소스를 보유하고, 상기 어플리케이션의 정보 요청 사항을 처리하며, 상기 어플리케이션의 사용과 관련된 정보를 수집 분석하는 어플리케이션부; 및
    상기 어플리케이션의 실행을 위한 런타임 정보, 각 호스팅 서비스 정보, 분산 데이터 베이스의 서버 정보, 상기 개발 서버 정보를 관리하는 서버 관리부를 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  15. 제 14 항에 있어서,
    상기 어플리케이션 스토어는 호스팅 서비스 장치를 사용하는 대가를 상기 호스팅 서비스 운영자에게 청구하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  16. 제 14 항에 있어서, 상기 어플리케이션 스토어는
    상기 개발 서버를 통해 개발된 어플리케이션, 상기 어플리케이션과 관련된 거래 정보, 및 상기 어플리케이션에 대한 버전 및 설명 중 적어도 어느 하나를 저장하는 데이터베이스를 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  17. 제 14 항에 있어서, 상기 어플리케이션 스토어는
    상기 호스팅 서비스 운영자가 사용자 인터페이스를 통해 상기 등록된 어플리케이션 중 특정 어플리케이션을 선택할 수 있는 기능을 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  18. 제 17 항에 있어서, 상기 어플리케이션 스토어는
    상기 호스팅 서비스 운영자가 구매하는 어플리케이션에 대한 거래조건을 상기 사용자 인터페이스를 통해 상기 호스팅 서비스 운영자로부터 입력받고 상기 입력받은 거래조건을 상기 개발 서버 및 상기 개발 클라이언트 장치에 전송하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  19. 제 16 항에 있어서, 상기 개발 클라이언트 장치는
    상기 어플리케이션 스토어로부터 수신한 거래 조건을 승인하거나 또는 상기 어플리케이션 스토어로부터 수신한 거래 조건과 다른 거래 조건을 제시하는 기능을 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  20. 제 19 항에 있어서,
    상기 어플리케이션 스토어는 상기 사용자 인터페이스를 통해 상기 호스팅 서비스 운영자로부터 상기 다른 거래 조건에 대한 승인, 변경 및 재요청 중 어느 하나를 수신하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  21. 제 14 항에 있어서,
    상기 어플리케이션 스토어는 상기 어플리케이션의 결재 방법을 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  22. 제 14 항에 있어서,
    상기 어플리케이션 스토어는 상기 개발 서버를 매개로 상기 어플리케이션의 통계 정보 및 상기 어플리케이션 관련 보고서를 상기 개발 클라이언트에 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  23. 제 14 항에 있어서, 상기 어플리케이션 스토어는
    상기 어플리케이션 및 상기 어플리케이션의 개발자를 평가하기 위해, 상기 개발자가 개발한 어플리케이션의 사용 정보를 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  24. 어플리케이션(application)을 개발하고 검증할 수 있는 환경을 개발 클라이언트 장치에 제공하는 어플리케이션 개발 서버;
    상기 개발 서버를 이용하여 개발된 어플리케이션을 등록하고 상기 어플리케이션의 판매를 관리하는 어플리케이션 스토어; 및
    상기 어플리케이션 스토어로부터 구입한 상기 어플리케이션을 실행할 수 있도록 실행 환경을 제공하는 호스팅 서비스 장치를 포함하되,
    상기 개발 서버는 상기 어플리케이션 스토어를 통해 호스팅 서비스 운영자 - 호스팅 서비스 운영자는 어플리케이션 스토어의 고객을 의미함 - 로부터 또는 상기 어플리케이션 스토어로부터 중 적어도 어느 하나로부터 상기 어플리케이션의 개발 관련 정보를 수신하여 상기 어플리케이션의 개발을 지원하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  25. 제 24 항에 있어서, 상기 호스팅 서비스 장치는
    상기 어플리케이션의 설치/제거 및 업그레이드 중 적어도 어느 하나를 관리하는 어플리케이션 서비스 관리부; 및
    상기 어플리케이션의 실행에 대해 처리하고 상기 처리 결과를 반환하며 상기 처리 결과에 대한 정보 - 처리 결과에 대한 정보는 실행 시간, 실행 횟수, 성능, 실행 결과 및 오류 정보 중 적어도 어느 하나를 포함함 - 를 관리하는 어플리케이션 런타임 관리부를 포함하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  26. 제 24 항에 있어서, 상기 어플리케이션 서비스 관리부는
    설치된 상기 어플리케이션의 목록, 설치 가능한 상기 어플리케이션 목록 및 상기 어플리케이션의 업그레이드 가능 목록 중 적어도 어느 하나를 출력하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  27. 제 24 항에 있어서,
    상기 어플리케이션 서비스 관리부는 어플리케이션의 사용여부, 상기 어플리케이션 서비스 사용자의 어플리케이션에 대한 평가, 리뷰 및 질의/응답, 및 상기 어플리케이션 로그 및 통계 정보 중 적어도 어느 하나를 관리하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  28. 제 24 항에 있어서,
    상기 어플리케이션 런타임 관리부는 상기 어플리케이션을 실행시키고, 상기 어플리케이션 실행에 대한 결과 정보를 수집/저장하며, 상기 어플리케이션의 런타임 중 처리해야할 정보를 관리하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  29. 제 28 항에 있어서, 상기 호스팅 서비스 장치는
    상기 어플리케이션 호스팅 서비스 이용자가 결재해야할 대가를 호스팅 서비스 이용자에게 청구하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  30. 제 24 항에 있어서,
    상기 어플리케이션 스토어는 광고 제공자의 계정을 등록하고, 상기 등록된 광고 제공자의 계정을 인증하여 광고 설정 정보를 상기 호스팅 서비스 장치에 전송함으로써 상기 어플리케이션에 광고를 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  31. 제 30 항에 있어서,
    상기 어플리케이션 스토어는 상기 광고 제공자로부터 사용자 인터페이스를 통해 광고 제약 조건을 입력받고, 상기 광고 제약 조건을 상기 호스팅 서비스 장치에 전송하여 상기 광고 제약 조건을 기반으로 상기 어플리케이션에 상기 광고를 제공하는 것을 특징으로 하는 어플리케이션 거래 시스템.
  32. 제 30 항에 있어서,
    상기 광고는 광고주, 클릭 당 지불 비용, 뷰 지불 비용, 지불 제한, 지불 이력, 충전 잔여금, 광고 활성 기간 정보를 기반으로 제공되는 것을 특징으로 하는 어플리케이션 거래 시스템.
KR1020120007771A 2012-01-26 2012-01-26 어플리케이션 거래 시스템 KR101523031B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120007771A KR101523031B1 (ko) 2012-01-26 2012-01-26 어플리케이션 거래 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120007771A KR101523031B1 (ko) 2012-01-26 2012-01-26 어플리케이션 거래 시스템

Publications (2)

Publication Number Publication Date
KR20130086789A true KR20130086789A (ko) 2013-08-05
KR101523031B1 KR101523031B1 (ko) 2015-05-27

Family

ID=49213871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120007771A KR101523031B1 (ko) 2012-01-26 2012-01-26 어플리케이션 거래 시스템

Country Status (1)

Country Link
KR (1) KR101523031B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048334A1 (en) * 2014-09-26 2016-03-31 Hewlett Packard Enterprise Development Lp Generation of performance offerings for interactive applications
CN115695412A (zh) * 2022-09-28 2023-02-03 北京亚控科技发展有限公司 工业应用系统、开发方法、装置及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024071455A1 (ko) * 2022-09-26 2024-04-04 라쿠텐 심포니 코리아 주식회사 과제에 대한 솔루션의 제공

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110029386A (ko) * 2009-09-15 2011-03-23 주식회사 이언커뮤니케이션즈 소셜 네트워크 스토어 서비스
KR101267836B1 (ko) * 2009-12-11 2013-05-27 에스케이플래닛 주식회사 오픈 마켓 플레이스 시스템, 서버 및 이를 이용한 애플리케이션 제공 방법
KR101359690B1 (ko) * 2009-12-18 2014-02-10 한국전자통신연구원 온라인 개발환경 서버, 온라인 마켓플레이스 서버, 온라인 개발환경 구성 방법 및 개발된 애플리케이션 서비스 방법
KR101039480B1 (ko) * 2010-10-29 2011-06-08 한화에스앤씨주식회사 단일화된 장치 연동형 어플리케이션 개발을 지원하는 앱스토어 시스템 및 앱스토어 관리 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048334A1 (en) * 2014-09-26 2016-03-31 Hewlett Packard Enterprise Development Lp Generation of performance offerings for interactive applications
US11037214B2 (en) 2014-09-26 2021-06-15 Hewlett Packard Enterprise Development Lp Generation of performance offerings for interactive applications
CN115695412A (zh) * 2022-09-28 2023-02-03 北京亚控科技发展有限公司 工业应用系统、开发方法、装置及存储介质

Also Published As

Publication number Publication date
KR101523031B1 (ko) 2015-05-27

Similar Documents

Publication Publication Date Title
US20030061104A1 (en) Internet based warranty and repair service
US20130204746A1 (en) Automatic web presence feature deployment
US11847585B2 (en) Systems and methods for selectively preventing origination of transaction requests
WO2017163010A1 (en) Platform/system for the management of the supply of engineering and maintenance services
KR101523031B1 (ko) 어플리케이션 거래 시스템
US8386345B2 (en) Method and system for generating invoices with entitlements
CN111985914B (zh) 结算方法、装置、节点及可读存储介质
JP3632051B2 (ja) ネットワーク決済処理システム、ネットワーク決済処理装置、ネットワーク決済処理方法、および、ネットワーク決済処理プログラム
KR20160043605A (ko) 수익성 서비스를 이용한 회원 공유 및 수익 분배 시스템 및 그 방법
WO2013054296A2 (en) Enterprise resource planning system
KR20060017562A (ko) 온라인 복지카드 시스템 및 복지카드 연동 방법
KR101436461B1 (ko) 주거 생활 서비스 시스템 및 부가 서비스 중개 방법
US20090055260A1 (en) Online system for renting application software
KR101261982B1 (ko) 오픈마켓을 이용한 판매정보 거래시스템 및 거래방법
WO2001029722A2 (en) Apparatus, method and system for integrating product creation, planning, sales and order fulfillment, including product order receiving apparatus, method and system
CN109816558B (zh) 基于saas的变压器技术服务平台系统
KR101705948B1 (ko) 기술 개발 및 그래픽 아트 개발을 위한 프로젝트 참여 시스템과 그 방법
KR102056738B1 (ko) 가맹점 마케팅 및 회원관리 대행서비스 제공시스템
KR20130114326A (ko) 웹 디자인 거래 방법 및 시스템
KR102548159B1 (ko) 결제 분리 승인 전문 구성 방법
JP2002157408A (ja) ソフトベンダサーバ、ソフトウェア販売システムおよびソフトウェア販売方法
KR20120137534A (ko) 쿠폰 판매 관리 시스템 및 방법
WO2014084758A2 (ru) Система и способ продажи товаров и услуг с компенсацией затрат покупателей
KR20090032277A (ko) 키워드 코드와 동영상을 이용한 물품 판매정보 중개 시스템
Nguyen Selling Cakes Online: A Web Design For Managing a Cake Shop Online

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190311

Year of fee payment: 5