KR102131080B1 - Method for analyzing detail page of web-application using document of model and apparatus thereof - Google Patents

Method for analyzing detail page of web-application using document of model and apparatus thereof Download PDF

Info

Publication number
KR102131080B1
KR102131080B1 KR1020180051424A KR20180051424A KR102131080B1 KR 102131080 B1 KR102131080 B1 KR 102131080B1 KR 1020180051424 A KR1020180051424 A KR 1020180051424A KR 20180051424 A KR20180051424 A KR 20180051424A KR 102131080 B1 KR102131080 B1 KR 102131080B1
Authority
KR
South Korea
Prior art keywords
web application
page
pages
user interface
object model
Prior art date
Application number
KR1020180051424A
Other languages
Korean (ko)
Other versions
KR20190134880A (en
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 KR1020180051424A priority Critical patent/KR102131080B1/en
Publication of KR20190134880A publication Critical patent/KR20190134880A/en
Application granted granted Critical
Publication of KR102131080B1 publication Critical patent/KR102131080B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법 및 이를 위한 장치가 개시된다. 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델을 추출하고, 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출하고, 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스 별로 분류할 수 있다.Disclosed is a method for analyzing a detailed page of a web application using a document object model and an apparatus therefor. A document object model is extracted based on a plurality of pages constituting a web application, a property value for each of the plurality of pages is detected based on at least two or more elements included in the document object model, and properties are based on multidimensional coordinates The values can be clustered, and a plurality of pages can be classified according to a user interface for a web application based on the clustering result.

Description

문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법 및 이를 위한 장치 {METHOD FOR ANALYZING DETAIL PAGE OF WEB-APPLICATION USING DOCUMENT OF MODEL AND APPARATUS THEREOF}Method for analyzing detailed page of web application using document object model and device therefor {METHOD FOR ANALYZING DETAIL PAGE OF WEB-APPLICATION USING DOCUMENT OF MODEL AND APPARATUS THEREOF}

본 발명은 웹 어플리케이션의 세부 페이지를 분류하는 기술에 관한 것으로, 특히 웹 어플리케이션(Web Application)이 URL(Uniform Resource Locator) 변경없이 다양한 UI(User Interface)로 구성된 경우에 각각의 사용자 인터페이스가 구성하는 DOM(Document of Model) 데이터를 분석하여 세부 페이지를 분류하는 기술에 관한 것이다.The present invention relates to a technology for classifying detailed pages of a web application, and in particular, a DOM configured by each user interface when a web application is composed of various user interfaces (UIs) without changing a Uniform Resource Locator (URL). (Document of Model) It is about technology to classify detailed pages by analyzing data.

일반적으로 웹 어플리케이션이 다양한 사용자 인터페이스(User Interface, UI)를 제공하는 경우, 각각의 사용자 인터페이스를 구성하는 페이지 별로 URL(Uniform Resource Locator)을 설정하게 된다. 따라서, 웹 어플리케이션에서는 URL이 변경됨에 따라 변경된 페이지를 제공한다. In general, when a web application provides various user interfaces (UIs), a URL (Uniform Resource Locator) is set for each page constituting each user interface. Therefore, the web application provides the changed page as the URL changes.

그러나 최근 SPA(Single page web Application) 기술이 발전함에 따라 URL을 변경하지 않아도 다양한 사용자 인터페이스를 가지도록 화면을 구성할 수 있다. 따라서, URL 변경없이 다양한 사용자 인터페이스 구성을 가지는 웹 어플리케이션은 제작 또는 설계 단계에서 사용자 인터페이스 구성이 정의된다. However, with the recent development of SPA (Single Page Web Application) technology, the screen can be configured to have various user interfaces without changing the URL. Therefore, a web application having various user interface configurations without changing a URL is defined in a user interface configuration at a production or design stage.

또한, 이러한 사용자 인터페이스 구성은 웹 어플리케이션의 동작을 제어하는 자바스크립트(JavaScript)에서 구현된다. 따라서, 웹 어플리케이션 설계자와 개발자는 각기 다른 사용자 인터페이스를 가지는 웹 페이지를 정의할 수 있다. In addition, such a user interface configuration is implemented in JavaScript (JavaScript) that controls the operation of the web application. Thus, web application designers and developers can define web pages with different user interfaces.

그러나, 이러한 경우에는 설계자와 개발자의 도움 없이 웹 어플리케이션이 가지는 각각의 사용자 인터페이스를 페이지 단위로 정의 및 분류하는 하는 것에 어려움이 따른다. 이러한 문제점은 페이지를 분류하여 페이지 별 웹 어플리케이션의 사용자 활동을 분석하는 웹 분석(Web Analytics)분야에서도 신속하게 해결해야 할 부분일 수 있다.However, in this case, it is difficult to define and classify each user interface of the web application in units of pages without the help of designers and developers. Such a problem may be a part to be quickly solved in the web analytics field, which classifies pages and analyzes user activity of web applications for each page.

한국 공개 특허 제10-2012-0022893호, 2012년 3월 12일 공개 (명칭: 이력적 검색 결과들을 사용한 향상된 문서 분류 데이터 생성)Published Korean Patent No. 10-2012-0022893, published on March 12, 2012 (Name: Enhanced document classification data generation using historical search results)

본 발명의 목적은, 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공하는 것이다.An object of the present invention is to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 본 발명의 목적은 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인하는 것이다.In addition, an object of the present invention is to check whether the user interface configuration defined when designing and manufacturing a web application is properly implemented.

또한, 본 발명의 목적은 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공하는 것이다.In addition, an object of the present invention is to provide a variety of services by analyzing user events generated for each page through detailed page analysis of a web application.

상기한 목적을 달성하기 위한 본 발명에 따른 웹 어플리케이션 세부 페이지 분석 방법은, 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(DOCUMENT OF MODEL)을 추출하는 단계; 상기 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 상기 복수개의 페이지들 각각에 대한 특성값을 검출하는 단계; 및 다차원 좌표를 기반으로 상기 특성값을 군집화하고, 군집화 결과를 기반으로 상기 복수개의 페이지들을 상기 웹 어플리케이션에 대한 사용자 인터페이스(USER INTERFACE) 별로 분류하는 단계를 포함한다.A web application detailed page analysis method according to the present invention for achieving the above object comprises: extracting a document object model (DOCUMENT OF MODEL) based on a plurality of pages constituting a web application; Detecting a characteristic value for each of the plurality of pages based on at least two or more elements included in the document object model; And clustering the characteristic values based on multi-dimensional coordinates and classifying the plurality of pages for each user interface (USER INTERFACE) for the web application based on the clustering result.

이 때, 웹 어플리케이션은 클라우드 스트리밍(CLOUD STREAMING) 기반의 클라우드 브라우저(CLOUD BROWSER)에서 실행될 수 있다.At this time, the web application may be executed in a cloud streaming (CLOUD BROWSER) based cloud streaming (CLOUD STREAMING).

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(SINGLE PAGE WEB APPLICATION)에 상응할 수 있다.At this time, the web application may correspond to a single page web application (SINGLE PAGE WEB APPLICATION).

이 때, 분류하는 단계는 상기 다차원 좌표 상의 거리를 고려하여 상기 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, the classifying step may cluster at least one characteristic value corresponding to each of the plurality of pages in consideration of the distance on the multidimensional coordinates.

이 때, 추출하는 단계는 상기 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(NAVIGATION)하면서 상기 문서 객체 모델을 추출할 수 있다.At this time, the extracting may extract the document object model while navigating all menus for the web application.

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다.At this time, the characteristic value may correspond to a value capable of quantitative measurement.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates.

이 때, 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석하는 단계를 더 포함할 수 있다.In this case, it may further include the step of analyzing user events for each page based on page information classified for each user interface.

이 때, 상기 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 상기 웹 어플리케이션이 제대로 구현되었는지 여부를 검토하는 단계를 더 포함할 수 있다.In this case, the method may further include examining whether the web application is properly implemented by comparing the user interface configuration defined in the production step of the web application and page information classified for each user interface.

또한, 본 발명에 따른 분석 서버는, 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(DOCUMENT OF MODEL)을 추출하고, 상기 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 상기 복수개의 페이지들 각각에 대한 특성값을 검출하고, 다차원 좌표를 기반으로 상기 특성값을 군집화하고, 군집화 결과를 기반으로 상기 복수개의 페이지들을 상기 웹 어플리케이션에 대한 사용자 인터페이스(USER INTERFACE) 별로 분류하는 프로세서; 및 상기 문서 객체 모델 및 상기 특성값 중 적어도 하나를 저장하는 메모리를 포함한다.In addition, the analysis server according to the present invention extracts a document object model (DOCUMENT OF MODEL) based on a plurality of pages constituting a web application, and based on at least two or more elements included in the document object model. A processor that detects a characteristic value for each page, clusters the characteristic value based on multi-dimensional coordinates, and classifies the plurality of pages for each user interface (USER INTERFACE) for the web application based on the clustering result; And a memory for storing at least one of the document object model and the characteristic value.

이 때, 웹 어플리케이션은 클라우드 스트리밍(CLOUD STREAMING) 기반의 클라우드 브라우저(CLOUD BROWSER)에서 실행될 수 있다.At this time, the web application may be executed in a cloud streaming (CLOUD BROWSER) based cloud streaming (CLOUD STREAMING).

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(SINGLE PAGE WEB APPLICATION)에 상응할 수 있다.At this time, the web application may correspond to a single page web application (SINGLE PAGE WEB APPLICATION).

이 때, 프로세서는 상기 다차원 좌표 상의 거리를 고려하여 상기 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, the processor may cluster at least one characteristic value corresponding to each of the plurality of pages in consideration of the distance on the multidimensional coordinates.

이 때, 프로세서는 상기 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(NAVIGATION) 하면서 상기 문서 객체 모델을 추출할 수 있다.At this time, the processor may extract the document object model while navigating all menus for the web application.

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다.At this time, the characteristic value may correspond to a value capable of quantitative measurement.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates.

이 때, 프로세서는 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석할 수 있다.At this time, the processor may analyze user events for each page based on page information classified for each user interface.

이 때, 프로세서는 상기 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 상기 웹 어플리케이션이 제대로 구현되었는지 여부를 검토할 수 있다.At this time, the processor may compare whether the web application is properly implemented by comparing the user interface configuration defined in the production stage of the web application and page information classified for each user interface.

본 발명에 따르면, 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공할 수 있다.According to the present invention, it is possible to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 본 발명은 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인할 수 있다.In addition, the present invention can confirm whether the user interface configuration defined in the production design of the web application is properly implemented.

또한, 본 발명은 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공할 수 있다.In addition, the present invention can provide various services by analyzing user events generated for each page through detailed page analysis of a web application.

도 1은 본 발명에 따른 웹 어플리케이션 세부 페이지 분석 과정의 일 예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법을 나타낸 동작흐름도이다.
도 3은 종래에 웹 어플리케이션 페이지 분석 방식의 일 예를 나타낸 도면이다.
도 4는 본 발명에 따른 클라우드 스트리밍 시스템의 일 예를 나타낸 도면이다.
도 5는 본 발명에 따른 다차원 좌표와 특성값의 일 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법을 상세하게 나타낸 동작흐름도이다.
도 7은 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 시스템을 나타낸 블록도이다.
도 8은 도 7에 도시된 분석 서버의 일 예를 나타낸 블록도이다.
도 9는 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 과정을 상세하게 나타낸 도면이다.
1 is a diagram illustrating an example of a detailed page analysis process of a web application according to the present invention.
2 is a flowchart illustrating a method of analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention.
3 is a diagram showing an example of a conventional web application page analysis method.
4 is a view showing an example of a cloud streaming system according to the present invention.
5 is a diagram showing an example of multi-dimensional coordinates and characteristic values according to the present invention.
6 is a detailed flowchart illustrating a method of analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention.
7 is a block diagram showing a web application detailed page analysis system according to an embodiment of the present invention.
8 is a block diagram illustrating an example of the analysis server illustrated in FIG. 7.
9 is a diagram illustrating in detail a process of analyzing a web application detail page according to an embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, technical terms used in the present invention should be interpreted as meanings generally understood by a person having ordinary knowledge in the technical field to which the present invention belongs, unless otherwise defined in the present invention. It should not be interpreted as a meaning or an excessively reduced meaning. In addition, when the technical term used in the present invention is a wrong technical term that does not accurately represent the spirit of the present invention, it should be understood as being replaced by a technical term that can be correctly understood by those skilled in the art. In addition, the general terms used in the present invention should be interpreted as defined in the dictionary or in context before and after, and should not be interpreted as an excessively reduced meaning.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.In addition, the singular expression used in the present invention includes a plural expression unless the context clearly indicates otherwise. In the present invention, terms such as “consisting of” or “comprising” should not be construed to include all of the various components or steps described in the present invention, and some of the components or some steps may not be included. It may be, or should be construed to further include additional components or steps.

또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.Further, terms including ordinal numbers such as first and second used in the present invention may be used to describe elements, but the elements should not be limited by terms. The terms are only used to distinguish one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar elements will be given the same reference numbers regardless of the reference numerals, and redundant descriptions thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in the description of the present invention, when it is determined that detailed descriptions of related known technologies may obscure the subject matter of the present invention, detailed descriptions thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention and should not be interpreted as limiting the spirit of the present invention by the accompanying drawings.

도 1은 본 발명에 따른 웹 어플리케이션 세부 페이지 분석 과정의 일 예를 나타낸 도면이다.1 is a view showing an example of a detailed page analysis process of a web application according to the present invention.

도 1을 참조하면, 본 발명에 따른 웹 어플리케이션 세부 페이지 분석 과정은 분석 서버(110)가 하나의 URL(120)을 통해 접근 가능한 여러 페이지들을 사용자 인터페이스(User Interface, UI) 별로 분석하는 과정에 해당할 수 있다.Referring to FIG. 1, the web application detailed page analysis process according to the present invention corresponds to a process in which the analysis server 110 analyzes several pages accessible through a single URL 120 for each user interface (UI). can do.

종래에는 웹 어플리케이션의 사용자 인터페이스를 구성하는 페이지 별로 URL이 할당되었기 때문에 URL에 대한 분석만으로도 사용자 또는 사용자 이벤트 분석을 수행할 수 있었다. 그러나, 싱글 페이지 웹 어플리케이션(Single Page Web Application)이 개발됨으로써 URL을 변경하지 않고도 다양한 사용자 인터페이스를 가질 수 있는 화면 구성이 가능하게 되었다. Conventionally, since URLs are allocated for each page constituting the user interface of a web application, analysis of a user or a user event can be performed only by analyzing the URL. However, since a single page web application has been developed, a screen configuration capable of having various user interfaces without changing a URL is possible.

그러나, 이와 같이 URL 변경 없이 다양한 사용자 인터페이스를 제공하는 경우, 종래에 URL 분석 기술만으로는 사용자가 실제로 어떤 사용자 인터페이스를 사용하였는지 분석하는 데에 한계가 발생한다. However, when various user interfaces are provided without changing the URL as described above, there is a limitation in analyzing which user interface the user actually uses by using only the URL analysis technique.

따라서, 본 발명에서는 이러한 문제점을 해결하고, 웹 어플리케이션이 가지는 사용자 인터페이스를 페이지 별로 분석할 수 있는 기술을 제공하고자 한다.Accordingly, the present invention is to solve this problem and to provide a technique for analyzing a user interface of a web application for each page.

먼저, 본 발명의 일실시예에 따른 분석 서버(110)는, 웹 어플리케이션에 대한 복수개의 페이지들에 대한 분석 정보를 획득하기 위해 각각의 페이지에서 문서 객체 모델(Document of Model)을 추출할 수 있다.First, the analysis server 110 according to an embodiment of the present invention may extract a document object model from each page in order to obtain analysis information on a plurality of pages for a web application. .

예를 들어, 도 1에 도시된 것처럼 분석 서버(110)가 하나의 URL(120)로 묶인 3개의 페이지들로부터 각각 문서 객체 모델(Document of Model, DOM)을 추출하여 분석을 수행할 수 있다.For example, as illustrated in FIG. 1, the analysis server 110 may perform analysis by extracting a Document Object Model (DOM) from three pages bound by one URL 120.

이 때, 문서 객체 모델은 웹 브라우저를 통해 확장성 생성 언어 문서의 상호 연동을 위한 객체 기반의 문서 모델에 해당하는 것으로, 프로그램과 스크립트에 의한 문서의 내용, 구조 종류 등의 동적인 접근과 변경이 가능할 수 있다. 또한, 스크립트나 프로그램 언어에 웹 페이지를 연결해줄 수 있다. 이 때, 웹 페이지를 조작 및 생성하기 위해 사용되는 속성, 방법 및 이벤트가 객체를 구성하는데, 이러한 객체들은 대부분의 웹 브라우저에서 스크립트 언어를 통해 접근할 수 있다.At this time, the document object model corresponds to an object-based document model for interworking extensibility-generated language documents through a web browser. Dynamic access and change of document contents and structure types by programs and scripts It may be possible. You can also link web pages to scripts or programming languages. At this time, the properties, methods, and events used to manipulate and create the web page constitute objects, which can be accessed through a scripting language in most web browsers.

이 후, 분석 서버(110)는 하나의 URL(120)에 포함된 복수개의 페이지들을 각각 사용자 인터페이스(User Interface, UI) 별로 분류함으로써 향후 사용자 이벤트를 분석하거나 웹 어플리케이션의 구현이 제대로 되었는지 판단하는데 사용할 수 있다. Thereafter, the analysis server 110 classifies a plurality of pages included in one URL 120 for each user interface (UI) to be used to analyze future user events or to determine whether the web application is properly implemented. Can.

이 때, 분석 서버(110)가 웹 어플리케이션의 세부 페이지를 분석하는 과정을 간략히 나열하면 다음과 같다. At this time, the process of analyzing the detailed page of the web application by the analysis server 110 is briefly listed as follows.

먼저, 분석 서버(110)는 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(Document of Model)을 추출한다. First, the analysis server 110 extracts a document object model based on a plurality of pages constituting a web application.

이 때, 분석 서버(110)는 클라우드 스트리밍 서버와 연동되거나 또는 클라우드 스트리밍 서버의 내부에 위치하면서 클라우드 환경에서 실행되는 웹 어플리케이션에 대한 세부 페이지를 분석할 수 있다.At this time, the analysis server 110 may analyze a detailed page of a web application running in a cloud environment while being interlocked with a cloud streaming server or located inside the cloud streaming server.

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응하는 것으로, 도 1에 도시된 것과 같이 하나의 URL(120)을 통해 다양한 사용자 인터페이스를 가지도록 페이지가 구성될 수 있다. 즉, URL을 변경없이 다양한 사용자 인터페이스 구성을 가질 수 있다. At this time, the web application corresponds to a single page web application, and a page may be configured to have various user interfaces through one URL 120 as illustrated in FIG. 1. That is, it is possible to have various user interface configurations without changing the URL.

이 때, 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(Navigation)하면서 문서 객체 모델을 추출할 수 있다. At this time, the document object model can be extracted while navigating all menus for the web application.

또한, 분석 서버(110)는 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출한다. In addition, the analysis server 110 detects a property value for each of the plurality of pages based on at least two or more elements included in the document object model.

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

또한, 분석 서버(110)는 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스(User Interface) 별로 분류한다. In addition, the analysis server 110 clusters characteristic values based on multi-dimensional coordinates and classifies a plurality of pages for each user interface for a web application based on the clustering result.

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다. At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates.

또한, 분석 서버(110)는 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석할 수 있다.In addition, the analysis server 110 may analyze user events for each page based on page information classified for each user interface.

또한, 분석 서버(110)는 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 웹 어플리케이션이 제대로 구현되었는지 여부를 검토할 수 있다. In addition, the analysis server 110 may compare whether the web application is properly implemented by comparing the user interface configuration defined in the production stage of the web application and page information classified for each user interface.

이와 같은 과정을 기반으로 웹 어플리케이션의 세부 페이지를 분석 및 분류함으로써 웹 어플리케이션 제작 설계 시 정의된 사용자 인터페이스(UI) 구성에 맞게 웹 어플리케이션이 제대로 구현되었는지 여부를 판단할 수 있다. By analyzing and classifying the detailed page of the web application based on the above process, it is possible to determine whether the web application is properly implemented according to the defined user interface (UI) configuration when designing the web application.

또한, 웹 어플리케이션을 이용하는 사용자 이벤트를 페이지 별로 분석함으로써 분석 결과를 통해 사용자에게 개인화된 다양한 서비스를 제공할 수도 있다. Also, by analyzing user events using a web application for each page, various personalized services can be provided to the user through the analysis results.

도 2는 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법을 나타낸 동작흐름도이다.2 is a flowchart illustrating a method of analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(Document of Model)을 추출한다(S210).Referring to FIG. 2, a method for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention extracts a document object model based on a plurality of pages constituting a web application (S210) ).

이 때, 웹 어플리케이션은 클라우드 스트리밍(Cloud Streaming) 기반의 클라우드 브라우저(Cloud Browser)에서 실행될 수 있다. At this time, the web application may be executed in a cloud browser based on cloud streaming.

이 때, 클라우드 스트리밍 서비스 또는 클라우드 컴퓨팅 서비스는 사용자가 컨텐츠를 로컬 스토리지가 아닌, 인터넷상의 클라우드 스토리지에 저장해놓고, 인터넷이 가능한 기기를 이용하여 언제 어디서든지 클라우드 스토리지에 접근하여 컨텐츠를 이용할 수 있는 서비스이다.At this time, the cloud streaming service or cloud computing service is a service that allows a user to store content in cloud storage on the Internet, not local storage, and access the cloud storage anytime, anywhere using internet-enabled devices. .

예를 들어, 도 4를 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션(414)은 클라우드 스트리밍 서버(410)에서 클라우드 스트리밍 엔진(411)의 실행을 기반으로 로드되는 클라우드 브라우저(412)에서 실행될 수 있다. 이 때, 클라우드 브라우저(412)는 웹 엔진(413)을 실행시킴으로써 싱글 페이지 웹 어플리케이션에 상응하게 웹 어플리케이션(414)을 실행시킬 수 있다.For example, referring to FIG. 4, the web application 414 according to an embodiment of the present invention is in the cloud browser 412 loaded based on the execution of the cloud streaming engine 411 in the cloud streaming server 410. Can be implemented. At this time, the cloud browser 412 may run the web engine 413 to execute the web application 414 corresponding to the single page web application.

이 때, 클라우드 브라우저(412)를 기반으로 실행되는 웹 어플리케이션(414)은 클라우드 클라이언트로부터 입력되는 키 입력을 바탕으로 동작할 수 있다. At this time, the web application 414 executed based on the cloud browser 412 may operate based on a key input input from a cloud client.

이 때, 클라우드 클라이언트는 클라우드 스트리밍 서버(410)에게 클라우드 스트리밍 서비스를 요청하고, 클라우드 스트리밍 서버(410)로부터 요청에 따른 실행화면을 수신하여 사용자에게 제공해줄 수 있다. 따라서, 사용자는 마치 요청된 서비스에 해당하는 동영상이나 어플리케이션이 클라우드 클라이언트에 상응하는 단말에서 실행되는 것처럼 느낄 수 있다. At this time, the cloud client may request a cloud streaming service from the cloud streaming server 410, receive the execution screen according to the request from the cloud streaming server 410, and provide it to the user. Therefore, the user can feel as if the video or application corresponding to the requested service is executed in the terminal corresponding to the cloud client.

이 때, 클라우드 클라이언트는 각각 통신망에 연결되어 클라우드 스트리밍 서버(410)와 통신 가능한 장치에 해당할 수 있다. 예를 들어, 클라우드 클라이언트는 모든 정보통신기기, 멀티미디어 단말, 유선 단말, 고정형 단말, 이동통신단말기 및 IP(Internet Protocol) 단말 등의 다양한 단말에 해당할 수 있다. 또한, 클라우드 클라이언트는 휴대폰, 휴대폰, PMP(Portable Multimedia Played), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net Book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말일 수도 있다.At this time, the cloud clients may be connected to a communication network, respectively, and correspond to a device capable of communicating with the cloud streaming server 410. For example, the cloud client may correspond to various terminals such as all information communication devices, multimedia terminals, wired terminals, fixed terminals, mobile communication terminals and IP (Internet Protocol) terminals. In addition, cloud clients include mobile phones, mobile phones, Portable Multimedia Played (PMP), Mobile Internet Devices (MIDs), smart phones, desktops, tablet PCs, notebooks, and netbooks. Net Book), a personal digital assistant (PDA), a smart TV, and a mobile terminal having various mobile communication specifications such as information and communication devices.

또한, 클라우드 클라이언트에 상응하는 단말은 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라우드 클라이언트에 상응하는 단말의 기능 제어와 관련하여 입력되는 신호를 입력부를 통해 제어부로 전달할 수 있다. 또한, 클라우드 클라이언트에 상응하는 단말의 입력부는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성할 수 있다. 이 때, 클라우드 클라이언트에 상응하는 단말의 입력부는 클라이언트에 상응하는 단말의 표시부와 함께 하나의 터치패널(또는 터치 스크린(touch screen))의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 클라우드 클라이언트에 상응하는 단말의 입력부는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단이 사용될 수 있다. In addition, the terminal corresponding to the cloud client can receive various information such as numeric and text information, set various functions, and transmit an input signal related to the function control of the terminal corresponding to the cloud client to the control unit through the input unit. . In addition, the input unit of the terminal corresponding to the cloud client may be configured to include at least one of a keypad and a touch pad for generating an input signal according to the user's touch or operation. At this time, the input unit of the terminal corresponding to the cloud client may be configured in the form of one touch panel (or touch screen) together with the display unit of the terminal corresponding to the client to simultaneously perform input and display functions. In addition, in addition to input devices such as a keyboard, a keypad, a mouse, and a joystick, the input unit of the terminal corresponding to the cloud client can use any type of input means that can be developed in the future.

또한, 클라우드 클라이언트에 상응하는 단말의 표시부는 클라이언트에 상응하는 단말의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시할 수 있다. 또한, 클라우드 클라이언트에 상응하는 단말의 표시부는 클라이언트에 상응하는 단말의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 클라우드 클라이언트에 상응하는 단말의 표시부는 액정표시장치(LCD, Liquid Crystal Display), 초박막 액정표시장치(TFT-LCD, Thin Film Transistor LCD), 발광다이오드(LED, Light Emitting Diode), 유기 발광다이오드(OLED, Organic LED), 능동형 유기발광다이오드(AMOLED, Active Matrix OLED), 레티나 디스플레이(Retina Display), 플렉시블 디스플레이(Flexible display) 및 3차원(3 Dimension) 디스플레이 등으로 구성될 수 있다. 이 때, 클라우드 클라이언트에 상응하는 단말의 표시부가 터치스크린 형태로 구성된 경우, 클라우드 클라이언트에 상응하는 단말의 표시부는 클라우드 클라이언트에 상응하는 단말의 입력부의 기능 중 일부 또는 전부를 수행할 수 있다. In addition, the display unit of the terminal corresponding to the cloud client may display information about a series of operation states and operation results that occur during the function execution of the terminal corresponding to the client. Further, the display unit of the terminal corresponding to the cloud client may display a menu of the terminal corresponding to the client and user data input by the user. Here, the display unit of the terminal corresponding to the cloud client is a liquid crystal display (LCD, Liquid Crystal Display), ultra-thin liquid crystal display (TFT-LCD, Thin Film Transistor LCD), light-emitting diode (LED, Light Emitting Diode), organic light-emitting diode (OLED, Organic LED), active organic light-emitting diode (AMOLED, Active Matrix OLED), Retina Display (Retina Display), flexible display (Flexible display) and can be composed of a three-dimensional (3 Dimension) display. At this time, when the display unit of the terminal corresponding to the cloud client is configured in the form of a touch screen, the display unit of the terminal corresponding to the cloud client may perform some or all of the functions of the input unit of the terminal corresponding to the cloud client.

또한, 클라우드 클라이언트에 상응하는 단말의 저장부는 데이터를 저장하기 위한 장치로, 주 기억장치 및 보조 기억장치를 포함하고, 클라우드 클라이언트에 상응하는 단말의 기능 동작에 필요한 응용 프로그램을 저장할 수 있다. 이러한 클라우드 클라이언트에 상응하는 단말의 저장부는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 클라우드 클라이언트에 상응하는 단말은 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어부의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. In addition, the storage unit of the terminal corresponding to the cloud client is a device for storing data, and includes a main storage unit and an auxiliary storage unit, and can store an application program required for the functional operation of the terminal corresponding to the cloud client. The storage unit of the terminal corresponding to the cloud client may largely include a program area and a data area. Here, when the terminal corresponding to the cloud client activates each function in response to the user's request, it executes the corresponding application programs under the control of the controller to provide each function.

또한, 클라우드 클라이언트에 상응하는 단말의 통신부는 클라우드 스트리밍 서버(410)와 네트워크를 통해 데이터를 송수신하기 위한 기능을 수행할 수 있다. 여기서 클라우드 클라이언트에 상응하는 단말의 통신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신 수단과 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신 수단 등을 포함할 수 있다. 이러한 클라우드 클라이언트에 상응하는 단말의 통신부는 무선통신 모듈을 포함할 수 있다. 그리고, 무선통신 모듈은 무선 통신 방법에 따라 데이터를 송수신하기 위한 구성이며, 클라우드 클라이언트에 상응하는 단말이 무선 통신을 이용하는 경우, 무선망 통신 모듈, 무선랜 통신 모듈 및 무선팬 통신 모듈 중 어느 하나를 이용하여 데이터를 클라우드 스트리밍 서버(410)로 송수신할 수 있다. 즉 클라우드 클라이언트에 상응하는 단말은 무선통신 모듈을 이용하여 네트워크에 접속하며, 네트워크를 통해 클라우드 스트리밍 서버(410)와 데이터를 송수신할 수 있다. In addition, the communication unit of the terminal corresponding to the cloud client may perform a function for transmitting and receiving data through the network with the cloud streaming server 410. Here, the communication unit of the terminal corresponding to the cloud client may include RF transmitting means for up-converting and amplifying the frequency of the transmitted signal, RF receiving means for low-noise amplifying and down-converting the received signal, and the like. The communication unit of the terminal corresponding to the cloud client may include a wireless communication module. In addition, the wireless communication module is a configuration for transmitting and receiving data according to a wireless communication method. When a terminal corresponding to a cloud client uses wireless communication, any one of a wireless network communication module, a wireless LAN communication module, and a wireless fan communication module is used. Data can be transmitted to and received from the cloud streaming server 410 by using. That is, the terminal corresponding to the cloud client may access the network using a wireless communication module, and transmit and receive data to and from the cloud streaming server 410 through the network.

또한, 클라우드 클라이언트에 상응하는 단말의 제어부는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 예를 들어, 제어부는 클라우드 스트리밍 서버(410)에 접속하는 과정 전반을 제어할 수 있다. 이 때, 클라우드 클라이언트에 상응하는 단말이 클라우드 스트리밍 서버(410)에 접속하는 경우, 사용자의 요청에 따라 동영상과 같은 컨텐츠나 어플리케이션이 실행되는 과정 전반을 제어할 수 있으며, 실행과 동시에 클라우드 스트리밍 서버(410)로 서비스 이용 요청이 전송되도록 제어할 수 있다. 이 때 사용자 인증에 필요한 클라우드 클라이언트에 상응하는 단말의 정보가 함께 전송되도록 제어할 수도 있다.In addition, the control unit of the terminal corresponding to the cloud client may be an operating system (OS, Operation System) and a process device driving each component. For example, the control unit may control the entire process of accessing the cloud streaming server 410. At this time, when a terminal corresponding to the cloud client accesses the cloud streaming server 410, it is possible to control the entire process of running the content or application such as a video at the user's request, and the cloud streaming server ( 410), so that the service use request is transmitted. At this time, it is possible to control so that information of the terminal corresponding to the cloud client required for user authentication is transmitted together.

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응할 수 있다. 따라서, 복수개의 페이지들은 하나의 URL을 통해 접근 가능한 페이지들에 해당할 수 있다. At this time, the web application may correspond to a single page web application. Accordingly, the plurality of pages may correspond to pages accessible through one URL.

종래의 웹 어플리케이션은 도 3에 도시된 것과 같이 하나의 URL에 하나의 웹 페이지가 할당되어 동작하는 구조였기 때문에 단순히 URL에 의한 접근만 분석하여도 웹 어플리케이션 또는 웹 어플리케이션에 대한 사용자 이벤트를 분석할 수 있었다. Since the conventional web application has a structure in which one web page is allocated to one URL and operates as illustrated in FIG. 3, user events for web applications or web applications can be analyzed by simply analyzing access by URL. there was.

즉, 도 3을 예로 들면, 웹 어플리케이션을 이용하는 사용자가 HOME에서 PAGE 1, PAGE 2, PAGE 3 중 어느 페이지로 이동하는지 여부를 추적함으로써 사용자의 개인적 이용 성향을 분석할 수 있다. 또한, 사용자가 주로 접속하는 페이지의 URL을 추출하여 사용자의 선호 성향을 분석할 수도 있다.That is, using FIG. 3 as an example, a user using a web application may analyze a user's personal use tendency by tracking whether a page is moved from HOME to PAGE 1, PAGE 2, or PAGE 3. In addition, the user's preference can be analyzed by extracting the URL of the page that the user mainly accesses.

그러나, 본 발명과 같은 싱글 페이지 웹 어플리케이션(Single Page Web Application)의 경우에는 URL 분석만으로 정확한 결과를 도출하기 어렵다.However, in the case of a single page web application such as the present invention, it is difficult to derive an accurate result only by URL analysis.

따라서, 본 발명에서는 웹 어플리케이션의 페이지 별 특성을 판단하여 사용자 인터페이스 별로 구별하기 위해 문서 객체 모델을 이용할 수 있다. Accordingly, in the present invention, a document object model may be used to determine the characteristics of each page of a web application and distinguish each user interface.

이 때, 문서 객체 모델은 웹 브라우저를 통해 확장성 생성 언어 문서의 상호 연동을 위한 객체 기반의 문서 모델에 해당하는 것으로, 프로그램과 스크립트에 의한 문서의 내용, 구조 종류 등의 동적인 접근과 변경이 가능할 수 있다. 또한, 스크립트나 프로그램 언어에 웹 페이지를 연결해줄 수 있다. 이 때, 웹 페이지를 조작 및 생성하기 위해 사용되는 속성, 방법 및 이벤트가 객체를 구성하는데, 이러한 객체들은 대부분의 웹 브라우저에서 스크립트 언어를 통해 접근할 수 있다.At this time, the document object model corresponds to an object-based document model for interworking extensibility-generated language documents through a web browser. Dynamic access and change of document contents and structure types by programs and scripts It may be possible. You can also link web pages to scripts or programming languages. At this time, the properties, methods, and events used to manipulate and create the web page constitute objects, which can be accessed through a scripting language in most web browsers.

이 때, 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(Navigation)하면서 문서 객체 모델을 추출할 수 있다. At this time, the document object model can be extracted while navigating all menus for the web application.

예를 들어, 웹 어플리케이션에 대한 메뉴 전체를 순차적으로 탐방하면서 각 메뉴에 대한 페이지를 방문하고, 각 메뉴의 대한 페이지의 문서 객체 모델을 추출할 수 있다. 이 때, 메뉴 네비게이션 순서는 특정한 규칙이 정해져있지는 않지만, 시스템 전체의 효율성과 정확성을 고려하여 네비게이션을 수행하도록 설정할 수도 있다.For example, while sequentially browsing the entire menu for a web application, a page for each menu may be visited, and a document object model of a page for each menu may be extracted. At this time, the menu navigation order does not have a specific rule, but it can be set to perform navigation considering the efficiency and accuracy of the entire system.

또한, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출한다(S220).In addition, the web application detailed page analysis method using the document object model according to an embodiment of the present invention detects a characteristic value for each of a plurality of pages based on at least two or more elements included in the document object model (S220). .

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

예를 들어, 특성값은 아이디(ID)를 갖는 엘리먼트의 수, 각 엘리먼트들이 가지는 클래스(Class) 값의 종류의 개수 등으로 표현될 수 있다. 이 때, 아이디와 클래스값 같은 엘리먼트의 주요 요소들을 이용하여 2차적인 데이터를 생성함으로써 특성값이 보다 의미 있는 데이터로써 활용될 수 있다. For example, the characteristic value may be expressed by the number of elements having an ID, the number of types of class values each element has, and the like. At this time, by generating secondary data using the main elements of the elements such as ID and class value, the characteristic value can be utilized as more meaningful data.

또한, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스(User Interface) 별로 분류한다(S230).In addition, a detailed method of analyzing a web application using a document object model according to an embodiment of the present invention clusters characteristic values based on multidimensional coordinates, and a plurality of pages based on a clustering result is a user interface for a web application (User Interface) (S230).

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

예를 들어, 도 5에 도시된 것처럼 다차원 좌표 상에 페이지별로 검출된 특성값이 표시되면, 특성값들 간의 거리를 고려하여 군집화를 수행할 수 있다. 즉, 기설정된 거리 이내의 특성값들을 군집화할 수 있다. 이 때, 기설정된 거리는 자유롭게 설정 및 변경될 수 있다.For example, when the characteristic values detected for each page are displayed on multidimensional coordinates as illustrated in FIG. 5, clustering may be performed in consideration of the distance between the characteristic values. That is, characteristic values within a predetermined distance can be clustered. At this time, the preset distance can be freely set and changed.

이 때, 군집화는 K-means, DBSCAN, hierarchical clustering 등과 같은 일반적인 군집화 알고리즘을 사용하여 수행될 수 있다.At this time, clustering may be performed using general clustering algorithms such as K-means, DBSCAN, hierarchical clustering, and the like.

이 때, 본 발명에서는 도 5의 예시와 같이, 아이디나 클래스값 같은 엘리먼트의 주요 요소로부터 데이터를 추출하여 군집화하기 때문에 서로 같은 사용자 인터페이스 페이지의 특성값들끼리 군집화될 수 있다. 따라서, 군집화된 특성값 데이터를 하나의 사용자 인터페이스를 구성하는 페이지로 정의하거나 분류할 수 있다. At this time, in the present invention, as illustrated in FIG. 5, since data is extracted and grouped from main elements of elements such as ID and class values, characteristic values of the same user interface page may be clustered. Accordingly, the clustered characteristic value data can be defined or classified as a page constituting one user interface.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. 도 5에서는 2차원 좌표를 예시로 들었으나, 본 발명의 일실시예에 따른 다차원 좌표는 2차원 좌표에 한정되지 않고, 엘리먼트의 개수에 상응하게 사용될 수도 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates. In FIG. 5, two-dimensional coordinates are exemplified, but multi-dimensional coordinates according to an embodiment of the present invention are not limited to two-dimensional coordinates and may be used corresponding to the number of elements.

또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석한다. In addition, although not shown in FIG. 2, a detailed page analysis method of a web application using a document object model according to an embodiment of the present invention analyzes user events for each page based on page information classified for each user interface.

예를 들어, 특정 사용자가 웹 어플리케이션에 접속하면서 이용한 사용자 인터페이스 정보를 기반으로 사용자의 웹 어플리케이션 사용패턴 및 사용자 활동에 대한 통계 정보 등을 생성할 수 있다. 이렇게 생성된 사용패턴 및 통계정보 등은 클라우드 스트리밍 서버에서의 사용자 활동에 대한 전체적 통계정보를 생성하는데 사용하거나 또는 사용자에게 개인화된 서비스를 제공하는데 활용될 수도 있다.For example, based on user interface information used while a specific user accesses a web application, statistical information on a user's web application usage pattern and user activity may be generated. The generated usage patterns and statistical information may be used to generate overall statistical information about user activity in the cloud streaming server, or may be used to provide personalized services to users.

또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 웹 어플리케이션이 제대로 구현되었는지 여부를 검토한다.In addition, although not shown in FIG. 2, the method for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention includes the user interface configuration defined in the production stage of the web application and page information classified for each user interface. Compare and check whether the web application has been properly implemented.

예를 들어, 웹 어플리케이션 개발자 또는 설계자로부터 제작 단계에 정의된 사용자 인터페이스 구성과 관련된 데이터를 획득하고, 본 발명에 따라 사용자 인터페이스 별로 분류된 페이지 정보를 비교함으로써 제작된 웹 어플리케이션이 의도대로 구현되었는지 검토할 수도 있다. 이러한 기능을 통해 제작된 웹 어플리케이션을 검토하는 시간과 비용을 현저히 감소시킬 수 있을 뿐만 아니라, 웹 어플리케이션의 사용자 인터페이스가 제대로 구현되지 않은 부분을 정확하게 검출할 수 있으므로 보다 신뢰성 있는 웹 어플리케이션 서비스를 제공할 수도 있다.For example, a web application developer or designer may obtain data related to a user interface configuration defined in a production step and compare page information classified for each user interface according to the present invention to examine whether the produced web application is implemented as intended. It might be. Through these functions, it is possible to significantly reduce the time and cost of reviewing the produced web application, as well as to accurately detect the part where the user interface of the web application is not properly implemented to provide a more reliable web application service. have.

또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 네트워크와 같은 통신망을 통해 웹 어플리케이션 세부 페이지 분석에 필요한 정보를 송수신할 수 있다. 특히, 웹 어플리케이션으로부터 문서 객체 모델을 추출하거나 사용자 분석 정보를 제공할 수 있다. In addition, although not illustrated in FIG. 2, the method for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention may transmit and receive information necessary for analyzing a detailed page of a web application through a communication network such as a network. In particular, a document object model can be extracted from a web application or user analysis information can be provided.

또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 상술한 바와 같이 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석을 위한 과정에서 발생하는 다양한 정보를 별도의 저장 모듈에 저장할 수 있다.In addition, although not shown in FIG. 2, the web application detail page analysis method using the document object model according to an embodiment of the present invention is described above as a web application detail using the document object model according to an embodiment of the present invention. Various information generated in the process for page analysis can be stored in a separate storage module.

이와 같은 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법을 통해 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공할 수 있다.Through this method of analyzing a detailed page of a web application using the document object model, it is possible to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인할 수 있다.In addition, it can be confirmed that the defined user interface configuration is properly implemented when designing and manufacturing a web application.

또한, 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공할 수 있다. In addition, through analyzing detailed pages of a web application, various events can be provided by analyzing user events generated for each page.

도 6은 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법을 상세하게 나타낸 동작흐름도이다.6 is a detailed flowchart illustrating a method for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법은 먼저 클라우드 스트리밍 서버가 실행되면(S610), 본 발명의 일실시예에 따른 분석 서버가 클라우드 스트리밍 서버 내에서 동작하는 웹 어플리케이션의 문서 객체 모델(DOM) 데이터를 추출할 수 있다(S620).Referring to FIG. 6, in a method for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention, when the cloud streaming server is first executed (S610 ), the analysis server according to an embodiment of the present invention performs cloud streaming The document object model (DOM) data of the web application operating in the server may be extracted (S620).

이 때, 웹 어플리케이션은 클라우드 스트리밍(Cloud Streaming) 기반의 클라우드 브라우저(Cloud Browser)에서 실행될 수 있다. At this time, the web application may be executed in a cloud browser based on cloud streaming.

이 때, 클라우드 스트리밍 서비스 또는 클라우드 컴퓨팅 서비스는 사용자가 컨텐츠를 로컬 스토리지가 아닌, 인터넷상의 클라우드 스토리지에 저장해놓고, 인터넷이 가능한 기기를 이용하여 언제 어디서든지 클라우드 스토리지에 접근하여 컨텐츠를 이용할 수 있는 서비스이다.At this time, the cloud streaming service or cloud computing service is a service that allows a user to store content in cloud storage on the Internet, not local storage, and access the cloud storage anytime, anywhere using internet-enabled devices. .

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응할 수 있다. 따라서, 복수개의 페이지들은 하나의 URL을 통해 접근 가능한 페이지들에 해당할 수 있다.At this time, the web application may correspond to a single page web application. Accordingly, the plurality of pages may correspond to pages accessible through one URL.

이 때, 문서 객체 모델은 웹 브라우저를 통해 확장성 생성 언어 문서의 상호 연동을 위한 객체 기반의 문서 모델에 해당하는 것으로, 프로그램과 스크립트에 의한 문서의 내용, 구조 종류 등의 동적인 접근과 변경이 가능할 수 있다. 또한, 스크립트나 프로그램 언어에 웹 페이지를 연결해줄 수 있다. 이 때, 웹 페이지를 조작 및 생성하기 위해 사용되는 속성, 방법 및 이벤트가 객체를 구성하는데, 이러한 객체들은 대부분의 웹 브라우저에서 스크립트 언어를 통해 접근할 수 있다.At this time, the document object model corresponds to an object-based document model for interworking extensibility-generated language documents through a web browser. Dynamic access and change of document contents and structure types by programs and scripts It may be possible. You can also link web pages to scripts or programming languages. At this time, the properties, methods, and events used to manipulate and create the web page constitute objects, which can be accessed through a scripting language in most web browsers.

이 때, 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(Navigation)하면서 문서 객체 모델을 추출할 수 있다.At this time, the document object model can be extracted while navigating all menus for the web application.

이 후, 문서 객체 모델에 포함된 적어도 둘 이상의 주요 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출할 수 있다(S630).Thereafter, a characteristic value for each of the plurality of pages may be detected based on at least two or more main elements included in the document object model (S630).

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

예를 들어, 특성값은 아이디(ID)를 갖는 엘리먼트의 수, 각 엘리먼트들이 가지는 클래스(Class) 값의 종류의 개수 등으로 표현될 수 있다. 이 때, 아이디와 클래스값 같은 엘리먼트의 주요 요소들을 이용하여 2차적인 데이터를 생성함으로써 특성값이 보다 의미 있는 데이터로써 활용될 수 있다.For example, the characteristic value may be expressed by the number of elements having an ID, the number of types of class values each element has, and the like. At this time, by generating secondary data using the main elements of the elements such as ID and class value, the characteristic value can be utilized as more meaningful data.

이 후, 검출된 특성값들을 다차원 좌표상에 표현하고(S640), 군집화 알고리즘을 적용하여 군집화를 수행할 수 있다(S650).Thereafter, the detected characteristic values are expressed on multidimensional coordinates (S640), and clustering may be performed by applying a clustering algorithm (S650).

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. 도 5에서는 2차원 좌표를 예시로 들었으나, 본 발명의 일실시예에 따른 다차원 좌표는 2차원 좌표에 한정되지 않고, 엘리먼트의 개수에 상응하게 사용될 수도 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates. In FIG. 5, two-dimensional coordinates are exemplified, but multi-dimensional coordinates according to an embodiment of the present invention are not limited to two-dimensional coordinates and may be used corresponding to the number of elements.

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

이 때, 군집화는 K-means, DBSCAN, hierarchical clustering 등과 같은 일반적인 군집화 알고리즘을 사용하여 수행될 수 있다.At this time, clustering may be performed using general clustering algorithms such as K-means, DBSCAN, hierarchical clustering, and the like.

이 후, 군집화 결과를 기반으로 웹 어플리케이션에 대한 복수개의 페이지들을 사용자 인터페이스 별로 분류할 수 있다(S660).Thereafter, a plurality of pages for the web application may be classified for each user interface based on the clustering result (S660).

이 때, 본 발명에서는 아이디나 클래스값 같은 엘리먼트의 주요 요소로부터 데이터를 추출하여 군집화하기 때문에 서로 같은 사용자 인터페이스 페이지의 특성값들끼리 군집화될 수 있다. 따라서, 군집화된 특성값 데이터를 하나의 사용자 인터페이스를 구성하는 페이지로 정의하거나 분류할 수 있다.At this time, in the present invention, since data is extracted and grouped from main elements of elements such as ID or class values, characteristic values of the same user interface page may be grouped together. Accordingly, the clustered characteristic value data can be defined or classified as a page constituting one user interface.

이 후, 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 사용자 활동을 분석할 수 있다(S670).Thereafter, user activity may be analyzed based on page information classified for each user interface (S670).

예를 들어, 특정 사용자가 웹 어플리케이션에 접속하면서 이용한 사용자 인터페이스 정보를 기반으로 사용자의 웹 어플리케이션 사용패턴 및 사용자 활동에 대한 통계 정보 등을 생성할 수 있다. 이렇게 생성된 사용패턴 및 통계정보 등은 클라우드 스트리밍 서버에서의 사용자 활동에 대한 전체적 통계정보를 생성하는데 사용하거나 또는 사용자에게 개인화된 서비스를 제공하는데 활용될 수도 있다.For example, based on user interface information used while a specific user accesses a web application, statistical information on a user's web application usage pattern and user activity may be generated. The generated usage patterns and statistical information may be used to generate overall statistical information on user activity in the cloud streaming server or may be used to provide personalized services to users.

이와 같은 분석 방법을 통해 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공할 수 있다.Through such an analysis method, it is possible to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인할 수 있다.In addition, it can be confirmed that the defined user interface configuration is properly implemented when designing and manufacturing a web application.

또한, 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공할 수 있다.In addition, through analyzing detailed pages of a web application, various events can be provided by analyzing user events generated for each page.

도 7은 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 시스템을 나타낸 블록도이다.7 is a block diagram showing a web application detailed page analysis system according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 시스템은 분석 서버(710), 클라우드 스트리밍 서버(720), 클라이언트(730-1~730-n) 및 네트워크(740)를 포함한다.Referring to FIG. 7, a web application detail page analysis system according to an embodiment of the present invention includes an analysis server 710, a cloud streaming server 720, a client 730-1 to 730-n, and a network 740. Includes.

먼저, 분석 서버(710)는 본 발명의 일실시예에 따른 클라우드 스트리밍 시스템에서 실행되는 웹 어플리케이션의 세부 페이지를 분석하기 위한 장치에 해당할 수 있다.First, the analysis server 710 may correspond to a device for analyzing a detailed page of a web application executed in a cloud streaming system according to an embodiment of the present invention.

이 때, 도 7에서는 분석 서버(710)가 클라우드 스트리밍 서버(720)와 별도로 존재하고 있지만, 본 발명의 일실시예에 따른 분석 서버는 클라우드 스트리밍 서버(720) 또는 클라우드 스트리밍 시스템 내부에 포함되는 형태로 동작할 수도 있다.At this time, although the analysis server 710 is present separately from the cloud streaming server 720 in FIG. 7, the analysis server according to an embodiment of the present invention is included in the cloud streaming server 720 or the cloud streaming system. It can also work as

이 때, 분석 서버(710)는 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(Document of Model)을 추출한다. At this time, the analysis server 710 extracts a document object model based on a plurality of pages constituting a web application.

이 때, 웹 어플리케이션은 클라우드 스트리밍(Cloud Streaming) 기반의 클라우드 브라우저(Cloud Browser)에서 실행될 수 있다.At this time, the web application may be executed in a cloud browser based on cloud streaming.

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응할 수 있다. 즉, 하나의 URL을 통해 다양한 사용자 인터페이스를 가지도록 페이지가 구성될 수 있다. 즉, URL을 변경없이 다양한 사용자 인터페이스 구성을 가질 수 있다. At this time, the web application may correspond to a single page web application. That is, the page may be configured to have various user interfaces through one URL. That is, it is possible to have various user interface configurations without changing the URL.

이 때, 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(Navigation)하면서 문서 객체 모델을 추출할 수 있다. At this time, the document object model can be extracted while navigating all menus for the web application.

또한, 분석 서버(710)는 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출한다. In addition, the analysis server 710 detects a characteristic value for each of the plurality of pages based on at least two or more elements included in the document object model.

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

또한, 분석 서버(710)는 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스(User Interface) 별로 분류한다. In addition, the analysis server 710 clusters characteristic values based on multi-dimensional coordinates and classifies a plurality of pages for each user interface for a web application based on the clustering result.

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다. At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates.

또한, 분석 서버(710)는 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석할 수 있다.In addition, the analysis server 710 may analyze user events for each page based on page information classified for each user interface.

또한, 분석 서버(710)는 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 웹 어플리케이션이 제대로 구현되었는지 여부를 검토할 수 있다.In addition, the analysis server 710 may compare whether the web application is properly implemented by comparing the user interface configuration defined in the production stage of the web application and page information classified for each user interface.

클라우드 스트리밍 서버(720)는 클라이언트(730-1~730-n)로부터 요청된 클라우드 스트리밍 서비스를 처리하기 위한 클라우드 스트리밍 엔진을 포함할 수 있다.The cloud streaming server 720 may include a cloud streaming engine for processing the cloud streaming service requested from the clients 730-1 to 730-n.

클라우드 스트리밍 서비스 또는 클라우드 컴퓨팅 서비스는 사용자가 컨텐츠를 로컬 스토리지가 아닌, 인터넷상의 클라우드 스토리지에 저장해놓고, 인터넷이 가능한 기기를 이용하여 언제 어디서든지 클라우드 스토리지에 접근하여 컨텐츠를 이용할 수 있는 서비스이다.A cloud streaming service or a cloud computing service is a service that allows a user to store content in cloud storage on the Internet, not local storage, and access the cloud storage anytime, anywhere using internet-enabled devices.

이 때, 클라우드 스트리밍 서버(720)에서는 클라우드 스트리밍 엔진이 실행되는 시점에 기 정의된 수만큼 클라우드 브라우저를 생성할 수 있는데, 클라우드 브라우저는 HTML, CSS 및 JavaScript등을 다운로드하고 실행하여 화면에 렌더링해줄 수 있다. At this time, the cloud streaming server 720 may generate as many cloud browsers as a predefined number at the time the cloud streaming engine is running, and the cloud browsers can download and run HTML, CSS, and JavaScript to render on the screen. have.

이 때, HTML(Hyper Text Markup Language)는 웹 페이지의 큰 뼈대를 제공하고, CSS(Cascading Style Sheets)는 색깔이나 글씨체와 같은 디자인 요소를 관리하며, 자바스크립트(Javascritp)는 크로스 플랫폼, 객체지향 스크립트 언어로 웹페이지의 동작을 담당할 수 있다.At this time, Hyper Text Markup Language (HTML) provides a large framework for web pages, Cascading Style Sheets (CSS) manage design elements such as color and font, and JavaScript (Javascritp) is a cross-platform, object-oriented script. You can take care of the operation of the web page in language.

클라이언트(730-1~730-n)는 클라우드 스트리밍 서버(720)에게 클라우드 스트리밍 서비스를 요청하고, 클라우드 스트리밍 서버(720)로부터 요청에 따른 실행화면을 수신하여 사용자에게 제공해줄 수 있다. 따라서, 사용자는 마치 요청된 서비스에 해당하는 동영상이나 어플리케이션이 클라이언트(730-1~730-n)에 상응하는 단말에서 실행되는 것처럼 느낄 수 있다. The clients 730-1 to 730-n may request a cloud streaming service from the cloud streaming server 720 and receive an execution screen according to the request from the cloud streaming server 720 and provide it to the user. Therefore, the user can feel as if the video or application corresponding to the requested service is executed in the terminal corresponding to the clients 730-1 to 730-n.

이 때, 클라이언트(730-1~730-n)는 각각 통신망에 연결되어 클라우드 스트리밍 서버(720)와 통신 가능한 장치에 해당할 수 있다. 예를 들어, 클라이언트(730-1~730-n)는 모든 정보통신기기, 멀티미디어 단말, 유선 단말, 고정형 단말, 이동통신단말기 및 IP(Internet Protocol) 단말 등의 다양한 단말에 해당할 수 있다. 또한, 클라이언트(730-1~730-n)는 휴대폰, 휴대폰, PMP(Portable Multimedia Played), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net Book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말일 수도 있다.At this time, the clients 730-1 to 730-n may be connected to a communication network, respectively, and correspond to devices capable of communicating with the cloud streaming server 720. For example, the clients 730-1 to 730-n may correspond to various terminals such as all information communication devices, multimedia terminals, wired terminals, fixed terminals, mobile communication terminals, and IP (Internet Protocol) terminals. In addition, the client (730-1 ~ 730-n) is a mobile phone, a mobile phone, PMP (Portable Multimedia Played), MID (Mobile Internet Device), a smartphone (Smart Phone), desktop (Desktop), tablet computer (Tablet PC), It may be a mobile terminal having various mobile communication specifications, such as a notebook, a net book, a personal digital assistant (PDA), a smart TV, and an information communication device.

또한, 클라이언트(730-1~730-n)에 상응하는 단말은 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 클라이언트(730-1~730-n)에 상응하는 단말의 기능 제어와 관련하여 입력되는 신호를 입력부를 통해 제어부로 전달할 수 있다. 또한, 클라이언트(730-1~730-n)에 상응하는 단말의 입력부는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성할 수 있다. 이 때, 클라이언트(730-1~730-n)에 상응하는 단말의 입력부는 클라이언트(730-1~730-n)에 상응하는 단말의 표시부와 함께 하나의 터치패널(또는 터치 스크린(touch screen))의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 클라이언트(730-1~730-n)에 상응하는 단말의 입력부는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단이 사용될 수 있다. In addition, the terminals corresponding to the clients 730-1 to 730-n receive various information such as numeric and character information, set various functions, and the functions of the terminals corresponding to the clients 730-1 to 730-n The signal input in relation to the control may be transmitted to the control unit through the input unit. In addition, the input unit of the terminal corresponding to the client (730-1 ~ 730-n) may be configured to include at least one of a keypad and a touch pad for generating an input signal according to the user's touch or operation. At this time, the input unit of the terminal corresponding to the client (730-1 ~ 730-n) is one touch panel (or touch screen) with the display of the terminal corresponding to the client (730-1 ~ 730-n) ) In the form of input and display functions can be performed simultaneously. In addition, in addition to input devices such as a keyboard, a keypad, a mouse, and a joystick, input terminals of terminals corresponding to the clients 730-1 to 730-n may be used in any form that can be developed in the future.

또한, 클라이언트(730-1~730-n)에 상응하는 단말의 표시부는 클라이언트(730-1~730-n)에 상응하는 단말의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시할 수 있다. 또한, 클라이언트(730-1~730-n)에 상응하는 단말의 표시부는 클라이언트(730-1~730-n)에 상응하는 단말의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 클라이언트(730-1~730-n)에 상응하는 단말의 표시부는 액정표시장치(LCD, Liquid Crystal Display), 초박막 액정표시장치(TFT-LCD, Thin Film Transistor LCD), 발광다이오드(LED, Light Emitting Diode), 유기 발광다이오드(OLED, Organic LED), 능동형 유기발광다이오드(AMOLED, Active Matrix OLED), 레티나 디스플레이(Retina Display), 플렉시블 디스플레이(Flexible display) 및 3차원(3 Dimension) 디스플레이 등으로 구성될 수 있다. 이 때, 클라이언트(730-1~730-n)에 상응하는 단말의 표시부가 터치스크린 형태로 구성된 경우, 클라이언트(730-1~730-n)에 상응하는 단말의 표시부는 클라이언트(730-1~730-n)에 상응하는 단말의 입력부의 기능 중 일부 또는 전부를 수행할 수 있다. Also, the display unit of the terminal corresponding to the clients 730-1 to 730-n provides information on a series of operation states and operation results that occur during the functioning of the terminal corresponding to the clients 730-1 to 730-n. Can be displayed. Also, the display unit of the terminal corresponding to the clients 730-1 to 730-n may display a menu of the terminal corresponding to the clients 730-1 to 730-n and user data input by the user. Here, the display unit of the terminal corresponding to the client (730-1 ~ 730-n), a liquid crystal display (LCD, Liquid Crystal Display), ultra-thin liquid crystal display (TFT-LCD, Thin Film Transistor LCD), a light emitting diode (LED, Light Emitting Diode), organic light emitting diode (OLED, organic LED), active organic light emitting diode (AMOLED, active matrix OLED), retina display, flexible display and flexible display It can be composed of. At this time, when the display unit of the terminal corresponding to the client (730-1 ~ 730-n) is configured in the form of a touch screen, the display unit of the terminal corresponding to the client (730-1 ~ 730-n) is a client (730-1 ~ It can perform some or all of the functions of the input unit of the terminal corresponding to 730-n).

또한, 클라이언트(730-1~730-n)에 상응하는 단말의 저장부는 데이터를 저장하기 위한 장치로, 주 기억장치 및 보조 기억장치를 포함하고, 클라이언트(730-1~730-n)에 상응하는 단말의 기능 동작에 필요한 응용 프로그램을 저장할 수 있다. 이러한 클라이언트(730-1~730-n)에 상응하는 단말의 저장부는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 클라이언트(730-1~730-n)에 상응하는 단말은 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어부의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. In addition, the storage unit of the terminal corresponding to the client (730-1 ~ 730-n) is a device for storing data, including a main storage and auxiliary storage, and corresponds to the client (730-1 ~ 730-n) It is possible to store an application program required for the functional operation of the terminal. The storage unit of the terminal corresponding to the clients 730-1 to 730-n may largely include a program area and a data area. Here, when the terminals corresponding to the clients 730-1 to 730-n activate each function in response to a user's request, they execute the corresponding application programs under the control of the controller to provide each function.

또한, 클라이언트(730-1~730-n)에 상응하는 단말의 통신부는 클라우드 스트리밍 서버(720)와 네트워크를 통해 데이터를 송수신하기 위한 기능을 수행할 수 있다. 여기서 클라이언트(730-1~730-n)에 상응하는 단말의 통신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신 수단과 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신 수단 등을 포함할 수 있다. 이러한 클라이언트(730-1~730-n)에 상응하는 단말의 통신부는 무선통신 모듈을 포함할 수 있다. 그리고, 무선통신 모듈은 무선 통신 방법에 따라 데이터를 송수신하기 위한 구성이며, 클라이언트(730-1~730-n)에 상응하는 단말이 무선 통신을 이용하는 경우, 무선망 통신 모듈, 무선랜 통신 모듈 및 무선팬 통신 모듈 중 어느 하나를 이용하여 데이터를 클라우드 스트리밍 서버(720)로 송수신할 수 있다. 즉 클라이언트(730-1~730-n)에 상응하는 단말은 무선통신 모듈을 이용하여 네트워크에 접속하며, 네트워크를 통해 클라우드 스트리밍 서버(720)와 데이터를 송수신할 수 있다. In addition, the communication unit of the terminal corresponding to the client (730-1 ~ 730-n) may perform a function for transmitting and receiving data via the cloud streaming server 720 and the network. Here, the communication unit of the terminal corresponding to the clients 730-1 to 730-n includes RF transmitting means for up-converting and amplifying the frequency of the transmitted signal, and RF receiving means for low-noise amplifying and down-converting the received signal. It can contain. The communication unit of the terminal corresponding to the client (730-1 ~ 730-n) may include a wireless communication module. In addition, the wireless communication module is a configuration for transmitting and receiving data according to a wireless communication method, and when a terminal corresponding to the clients 730-1 to 730-n uses wireless communication, a wireless network communication module, a wireless LAN communication module, and Data can be transmitted to and received from the cloud streaming server 720 using any one of the wireless fan communication modules. That is, the terminals corresponding to the clients 730-1 to 730-n may access the network using a wireless communication module, and transmit and receive data to and from the cloud streaming server 720 through the network.

또한, 클라이언트(730-1~730-n)에 상응하는 단말의 제어부는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 예를 들어, 제어부는 클라우드 스트리밍 서버(720)에 접속하는 과정 전반을 제어할 수 있다. 이 때, 클라이언트(730-1~730-n)에 상응하는 단말이 클라우드 스트리밍 서버(720)에 접속하는 경우, 사용자의 요청에 따라 동영상과 같은 컨텐츠나 어플리케이션이 실행되는 과정 전반을 제어할 수 있으며, 실행과 동시에 클라우드 스트리밍 서버(720)로 서비스 이용 요청이 전송되도록 제어할 수 있다. 이 때 사용자 인증에 필요한 클라이언트(730-1~730-n)에 상응하는 단말의 정보가 함께 전송되도록 제어할 수도 있다.In addition, the control unit of the terminal corresponding to the client (730-1 ~ 730-n) may be an operating system (OS, Operation System) and a process device for driving each configuration. For example, the control unit may control the overall process of accessing the cloud streaming server 720. At this time, when a terminal corresponding to the clients 730-1 to 730-n accesses the cloud streaming server 720, according to a user's request, content such as a video or an application can be controlled in general. At the same time, it is possible to control the service streaming request to be transmitted to the cloud streaming server 720 at the same time. At this time, it is also possible to control the information of the terminals corresponding to the clients 730-1 to 730-n required for user authentication to be transmitted together.

네트워크(740)는 분석 서버(710)와 클라우드 스트리밍 서버(720) 및 클라우드 스트리밍 서버(720)와 클라이언트(730-1~730-n) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들어, 네트워크는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신 망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다.The network 740 provides a path for transferring data between the analysis server 710 and the cloud streaming server 720, and the cloud streaming server 720 and the clients 730-1 to 730-n, which are used in the past. It is a concept that encompasses both networks that can be developed and networks that can be developed in the future. For example, the network provides communication between earth stations and earth stations using satellites, a wired/wireless short-range communication network that provides communication of various information devices within a limited area, a mobile communication network that provides communication with each other, and between the mobile and the outside of the mobile. It may be a satellite communication network or a wired/wireless communication network, or a combination of two or more. Meanwhile, the network transmission standard is not limited to the existing transmission standard, and may include all future transmission standard.

이와 같은 시스템을 기반으로 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공할 수 있다.Based on such a system, it is possible to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인할 수 있다.In addition, it can be confirmed that the defined user interface configuration is properly implemented when designing and manufacturing a web application.

또한, 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공할 수 있다.In addition, through analyzing detailed pages of a web application, various events can be provided by analyzing user events generated for each page.

도 8은 도 7에 도시된 분석 서버의 일 예를 나타낸 블록도이다.8 is a block diagram illustrating an example of the analysis server illustrated in FIG. 7.

도 8을 참조하면, 도 7에 도시된 분석 서버는 통신부(810), 프로세서(820) 및 메모리(830)를 포함한다. Referring to FIG. 8, the analysis server illustrated in FIG. 7 includes a communication unit 810, a processor 820, and a memory 830.

통신부(810)는 네트워크와 같은 통신망을 통해 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석을 위해 필요한 정보를 송수신하는 역할을 한다. 특히, 본 발명의 일실시예에 따른 통신부(810)는 웹 어플리케이션으로부터 문서 객체 모델을 추출하거나 사용자 분석 정보를 제공할 수도 있다.The communication unit 810 serves to transmit and receive information necessary for analyzing a detailed page of a web application using a document object model through a communication network such as a network. In particular, the communication unit 810 according to an embodiment of the present invention may extract a document object model from a web application or provide user analysis information.

프로세서(820)는 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(Document of Model)을 추출한다.The processor 820 extracts a document object model based on a plurality of pages constituting a web application.

이 때, 웹 어플리케이션은 클라우드 스트리밍(Cloud Streaming) 기반의 클라우드 브라우저(Cloud Browser)에서 실행될 수 있다. At this time, the web application may be executed in a cloud browser based on cloud streaming.

이 때, 클라우드 스트리밍 서비스 또는 클라우드 컴퓨팅 서비스는 사용자가 컨텐츠를 로컬 스토리지가 아닌, 인터넷상의 클라우드 스토리지에 저장해놓고, 인터넷이 가능한 기기를 이용하여 언제 어디서든지 클라우드 스토리지에 접근하여 컨텐츠를 이용할 수 있는 서비스이다.At this time, the cloud streaming service or cloud computing service is a service that allows a user to store content in cloud storage on the Internet, not local storage, and access the cloud storage anytime, anywhere using internet-enabled devices. .

예를 들어, 도 4를 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션(414)은 클라우드 스트리밍 서버(410)에서 클라우드 스트리밍 엔진(411)의 실행을 기반으로 로드되는 클라우드 브라우저(412)에서 실행될 수 있다. 이 때, 클라우드 브라우저(412)는 웹 엔진(413)을 실행시킴으로써 싱글 페이지 웹 어플리케이션에 상응하게 웹 어플리케이션(414)을 실행시킬 수 있다.For example, referring to FIG. 4, the web application 414 according to an embodiment of the present invention is in the cloud browser 412 loaded based on the execution of the cloud streaming engine 411 in the cloud streaming server 410. Can be implemented. At this time, the cloud browser 412 may run the web engine 413 to execute the web application 414 corresponding to the single page web application.

이 때, 클라우드 브라우저(412)를 기반으로 실행되는 웹 어플리케이션(414)은 클라우드 클라이언트로부터 입력되는 키 입력을 바탕으로 동작할 수 있다. At this time, the web application 414 executed based on the cloud browser 412 may operate based on a key input input from a cloud client.

이 때, 클라우드 클라이언트는 클라우드 스트리밍 서버(410)에게 클라우드 스트리밍 서비스를 요청하고, 클라우드 스트리밍 서버(410)로부터 요청에 따른 실행화면을 수신하여 사용자에게 제공해줄 수 있다. 따라서, 사용자는 마치 요청된 서비스에 해당하는 동영상이나 어플리케이션이 클라우드 클라이언트에 상응하는 단말에서 실행되는 것처럼 느낄 수 있다. At this time, the cloud client may request a cloud streaming service from the cloud streaming server 410, receive the execution screen according to the request from the cloud streaming server 410, and provide it to the user. Therefore, the user can feel as if the video or application corresponding to the requested service is executed in the terminal corresponding to the cloud client.

이 때, 클라우드 클라이언트는 각각 통신망에 연결되어 클라우드 스트리밍 서버(410)와 통신 가능한 장치에 해당할 수 있다. 예를 들어, 클라우드 클라이언트는 모든 정보통신기기, 멀티미디어 단말, 유선 단말, 고정형 단말, 이동통신단말기 및 IP(Internet Protocol) 단말 등의 다양한 단말에 해당할 수 있다. 또한, 클라이언트(730-1~730-n)는 휴대폰, 휴대폰, PMP(Portable Multimedia Played), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net Book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말일 수도 있다.At this time, the cloud clients may be connected to a communication network, respectively, and correspond to a device capable of communicating with the cloud streaming server 410. For example, the cloud client may correspond to various terminals such as all information communication devices, multimedia terminals, wired terminals, fixed terminals, mobile communication terminals and IP (Internet Protocol) terminals. In addition, the client (730-1 ~ 730-n) is a mobile phone, a mobile phone, PMP (Portable Multimedia Played), MID (Mobile Internet Device), a smartphone (Smart Phone), desktop (Desktop), tablet computer (Tablet PC), It may be a mobile terminal having various mobile communication specifications, such as a notebook, a net book, a personal digital assistant (PDA), a smart TV, and an information communication device.

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응할 수 있다. 따라서, 복수개의 페이지들은 하나의 URL을 통해 접근 가능한 페이지들에 해당할 수 있다. At this time, the web application may correspond to a single page web application. Accordingly, the plurality of pages may correspond to pages accessible through one URL.

종래의 웹 어플리케이션은 도 3에 도시된 것과 같이 하나의 URL에 하나의 웹 페이지가 할당되어 동작하는 구조였기 때문에 단순히 URL에 의한 접근만 분석하여도 웹 어플리케이션 또는 웹 어플리케이션에 대한 사용자 이벤트를 분석할 수 있었다. Since the conventional web application has a structure in which one web page is allocated to one URL and operates as illustrated in FIG. 3, user events for web applications or web applications can be analyzed by simply analyzing access by URL. there was.

즉, 도 3을 예로 들면, 웹 어플리케이션을 이용하는 사용자가 HOME에서 PAGE 1, PAGE 2, PAGE 3 중 어느 페이지로 이동하는지 여부를 추적함으로써 사용자의 개인적 이용 성향을 분석할 수 있다. 또한, 사용자가 주로 접속하는 페이지의 URL을 추출하여 사용자의 선호 성향을 분석할 수도 있다.That is, using FIG. 3 as an example, a user using a web application may analyze a user's personal use tendency by tracking whether a page is moved from HOME to PAGE 1, PAGE 2, or PAGE 3. In addition, the user's preference can be analyzed by extracting the URL of the page that the user mainly accesses.

그러나, 본 발명과 같은 싱글 페이지 웹 어플리케이션(Single Page Web Application)의 경우에는 URL 분석만으로 정확한 결과를 도출하기 어렵다.However, in the case of a single page web application such as the present invention, it is difficult to derive an accurate result only by URL analysis.

따라서, 본 발명에서는 웹 어플리케이션의 페이지 별 특성을 판단하여 사용자 인터페이스 별로 구별하기 위해 문서 객체 모델을 이용할 수 있다. Accordingly, in the present invention, a document object model may be used to determine the characteristics of each page of a web application and distinguish each user interface.

이 때, 문서 객체 모델은 웹 브라우저를 통해 확장성 생성 언어 문서의 상호 연동을 위한 객체 기반의 문서 모델에 해당하는 것으로, 프로그램과 스크립트에 의한 문서의 내용, 구조 종류 등의 동적인 접근과 변경이 가능할 수 있다. 또한, 스크립트나 프로그램 언어에 웹 페이지를 연결해줄 수 있다. 이 때, 웹 페이지를 조작 및 생성하기 위해 사용되는 속성, 방법 및 이벤트가 객체를 구성하는데, 이러한 객체들은 대부분의 웹 브라우저에서 스크립트 언어를 통해 접근할 수 있다.At this time, the document object model corresponds to an object-based document model for interworking extensibility-generated language documents through a web browser. Dynamic access and change of document contents and structure types by programs and scripts It may be possible. You can also link web pages to scripts or programming languages. At this time, the properties, methods, and events used to manipulate and create the web page constitute objects, which can be accessed through a scripting language in most web browsers.

이 때, 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(Navigation)하면서 문서 객체 모델을 추출할 수 있다. At this time, the document object model can be extracted while navigating all menus for the web application.

예를 들어, 웹 어플리케이션에 대한 메뉴 전체를 순차적으로 탐방하면서 각 메뉴에 대한 페이지를 방문하고, 각 메뉴의 대한 페이지의 문서 객체 모델을 추출할 수 있다. 이 때, 메뉴 네비게이션 순서는 특정한 규칙이 정해져 있지는 않지만, 시스템 전체의 효율성과 정확성을 고려하여 네비게이션을 수행하도록 설정할 수도 있다.For example, while sequentially browsing the entire menu for a web application, a page for each menu may be visited, and a document object model of a page for each menu may be extracted. At this time, the menu navigation order may not be set in a specific rule, but may be set to perform navigation in consideration of the efficiency and accuracy of the entire system.

또한, 프로세서(820)는 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출한다.Further, the processor 820 detects a characteristic value for each of the plurality of pages based on at least two or more elements included in the document object model.

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

예를 들어, 특성값은 아이디(ID)를 갖는 엘리먼트의 수, 각 엘리먼트들이 가지는 클래스(Class) 값의 종류의 개수 등으로 표현될 수 있다. 이 때, 아이디와 클래스값 같은 엘리먼트의 주요 요소들을 이용하여 2차적인 데이터를 생성함으로써 특성값이 보다 의미 있는 데이터로써 활용될 수 있다.For example, the characteristic value may be expressed by the number of elements having an ID, the number of types of class values each element has, and the like. At this time, by generating secondary data using the main elements of the elements such as ID and class value, the characteristic value can be utilized as more meaningful data.

또한, 프로세서(820)는 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스(User Interface) 별로 분류한다.In addition, the processor 820 clusters feature values based on multi-dimensional coordinates and classifies a plurality of pages for each user interface for a web application based on the clustering result.

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

예를 들어, 도 5에 도시된 것처럼 다차원 좌표 상에 페이지 별로 검출된 특성값이 표시되면, 특성값들 간의 거리를 고려하여 군집화를 수행할 수 있다. 즉, 기설정된 거리 이내의 특성값들을 군집화할 수 있다. 이 때, 기설정된 거리는 자유롭게 설정 및 변경될 수 있다.For example, when a characteristic value detected for each page is displayed on multidimensional coordinates as illustrated in FIG. 5, clustering may be performed in consideration of a distance between the characteristic values. That is, characteristic values within a predetermined distance can be clustered. At this time, the preset distance can be freely set and changed.

이 때, 군집화는 K-means, DBSCAN, hierarchical clustering 등과 같은 일반적인 군집화 알고리즘을 사용하여 수행될 수 있다.At this time, clustering may be performed using general clustering algorithms such as K-means, DBSCAN, hierarchical clustering, and the like.

이 때, 본 발명에서는 도 5의 예시와 같이, 아이디나 클래스값 같은 엘리먼트의 주요 요소로부터 데이터를 추출하여 군집화하기 때문에 서로 같은 사용자 인터페이스 페이지의 특성값들끼리 군집화될 수 있다. 따라서, 군집화된 특성값 데이터를 하나의 사용자 인터페이스를 구성하는 페이지로 정의하거나 분류할 수 있다. At this time, in the present invention, as illustrated in FIG. 5, since data is extracted and grouped from main elements of elements such as ID and class values, characteristic values of the same user interface page may be clustered. Accordingly, the clustered characteristic value data can be defined or classified as a page constituting one user interface.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. 도 5에서는 2차원 좌표를 예시로 들었으나, 본 발명의 일실시예에 따른 다차원 좌표는 2차원 좌표에 한정되지 않고, 엘리먼트의 개수에 상응하게 사용될 수도 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates. In FIG. 5, two-dimensional coordinates are exemplified, but multi-dimensional coordinates according to an embodiment of the present invention are not limited to two-dimensional coordinates and may be used corresponding to the number of elements.

또한, 프로세서(820)는 사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석한다.In addition, the processor 820 analyzes user events for each page based on page information classified for each user interface.

예를 들어, 특정 사용자가 웹 어플리케이션에 접속하면서 이용한 사용자 인터페이스 정보를 기반으로 사용자의 웹 어플리케이션 사용패턴 및 사용자 활동에 대한 통계 정보 등을 생성할 수 있다. 이렇게 생성된 사용패턴 및 통계정보 등은 클라우드 스트리밍 서버에서의 사용자 활동에 대한 전체적 통계정보를 생성하는데 사용하거나 또는 사용자에게 개인화된 서비스를 제공하는데 활용될 수도 있다.For example, based on user interface information used while a specific user accesses a web application, statistical information on a user's web application usage pattern and user activity may be generated. The generated usage patterns and statistical information may be used to generate overall statistical information on user activity in the cloud streaming server or may be used to provide personalized services to users.

또한, 프로세서(820)는 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 웹 어플리케이션이 제대로 구현되었는지 여부를 검토한다In addition, the processor 820 compares the user interface configuration defined in the production stage of the web application and page information classified for each user interface to examine whether the web application is properly implemented.

예를 들어, 웹 어플리케이션 개발자 또는 설계자로부터 제작 단계에 정의된 사용자 인터페이스 구성과 관련된 데이터를 획득하고, 본 발명에 따라 사용자 인터페이스 별로 분류된 페이지 정보를 비교함으로써 제작된 웹 어플리케이션이 의도대로 구현되었는지 검토할 수도 있다. 이러한 기능을 통해 제작된 웹 어플리케이션을 검토하는 시간과 비용을 현저히 감소시킬 수 있을 뿐만 아니라, 웹 어플리케이션의 사용자 인터페이스가 제대로 구현되지 않은 부분을 정확하게 검출할 수 있으므로 보다 신뢰성 있는 웹 어플리케이션 서비스를 제공할 수도 있다.For example, a web application developer or designer may obtain data related to a user interface configuration defined in a production step and compare page information classified for each user interface according to the present invention to examine whether the produced web application is implemented as intended. It might be. Through these functions, it is possible to significantly reduce the time and cost of reviewing the produced web application, as well as to accurately detect the part where the user interface of the web application is not properly implemented to provide a more reliable web application service. have.

메모리(830)는 문서 객체 모델 및 특성값 중 적어도 하나를 저장한다.The memory 830 stores at least one of a document object model and characteristic values.

또한, 메모리(830)는 상술한 바와 같이 본 발명의 실시예에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석을 위한 기능을 지원할 수 있다. 이 때, 메모리(830)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다. Also, as described above, the memory 830 may support a function for analyzing a detailed page of a web application using a document object model according to an embodiment of the present invention. At this time, the memory 830 may operate as a separate large-capacity storage, and may include a control function for performing the operation.

한편, 분석 서버는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.Meanwhile, the analysis server is equipped with a memory and can store information in the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in other implementations, the memory may be a non-volatile memory unit. In one embodiment, the storage device is a computer-readable medium. In various different implementations, the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.

이와 같은 분석 서버를 이용하여 웹 어플리케이션의 페이지 구성을 알지 못하는 경우에도 사용자 인터페이스 별로 웹 페이지를 분류하는 방법을 제공할 수 있다.Using such an analysis server, it is possible to provide a method of classifying web pages for each user interface even when the page configuration of the web application is not known.

또한, 웹 어플리케이션의 제작 설계 시 정의된 사용자 인터페이스 구성이 제대로 구현되었는지 확인할 수 있다.In addition, it can be confirmed that the defined user interface configuration is properly implemented when designing and manufacturing a web application.

또한, 웹 어플리케이션의 세부 페이지 분석을 통해 페이지 별로 발생하는 사용자 이벤트를 분석하여 다양한 서비스를 제공할 수 있다.In addition, through analyzing detailed pages of a web application, various events can be provided by analyzing user events generated for each page.

도 9는 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 과정을 상세하게 나타낸 도면이다.9 is a diagram showing in detail a process of analyzing a detailed page of a web application according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션 세부 페이지 분석 과정은 먼저 클라우드 스트리밍 서버의 클라우드 스트리밍 엔진(910)이 실행될 수 있다(S902).Referring to FIG. 9, in the web application detailed page analysis process according to an embodiment of the present invention, the cloud streaming engine 910 of the cloud streaming server may first be executed (S902 ).

이 후, 클라우드 스트리밍 엔진(910)이 실행되는 시점에 클라우드 스트리밍 서버 내에 생성된 클라우드 브라우저(920)가 웹 서버(930)로부터 웹 어플리케이션을 실행시키기 위한 자바스크립트 다운로드를 시작할 수 있다(S904).Thereafter, at the time when the cloud streaming engine 910 is executed, the cloud browser 920 generated in the cloud streaming server may start downloading JavaScript to execute the web application from the web server 930 (S904).

이 때, 클라우드 브라우저(920)는 클라우드 스트리밍 시스템에 기정의된 수만큼 생성될 수 있다.At this time, the cloud browser 920 may be generated as many as a predefined number in the cloud streaming system.

이 후, 분석 서버(940)는 클라우드 브라우저(920)를 기반으로 실행되는 웹 어플리케이션의 메뉴를 네비게이션하여(S906) 페이지 별로 문서 객체 모델을 추출할 수 있다(S908). 예를 들어, 웹 어플리케이션에 대한 메뉴 전체를 순차적으로 탐방하면서 각 메뉴에 대한 페이지를 방문하고, 각 메뉴의 대한 페이지의 문서 객체 모델을 추출할 수 있다. 이 때, 메뉴 네비게이션 순서는 특정한 규칙이 정해져 있지는 않지만, 시스템 전체의 효율성과 정확성을 고려하여 네비게이션을 수행하도록 설정할 수도 있다.Thereafter, the analysis server 940 may extract a document object model for each page by navigating the menu of the web application executed based on the cloud browser 920 (S906) (S908). For example, while sequentially browsing the entire menu for a web application, a page for each menu may be visited, and a document object model of a page for each menu may be extracted. At this time, the menu navigation order may not be set in a specific rule, but may be set to perform navigation in consideration of the efficiency and accuracy of the entire system.

이 때, 웹 어플리케이션은 싱글 페이지 웹 어플리케이션(Single Page Web Application)에 상응할 수 있다. 따라서, 복수개의 페이지들은 하나의 URL을 통해 접근 가능한 페이지들에 해당할 수 있다.At this time, the web application may correspond to a single page web application. Accordingly, the plurality of pages may correspond to pages accessible through one URL.

이 때, 문서 객체 모델은 웹 브라우저를 통해 확장성 생성 언어 문서의 상호 연동을 위한 객체 기반의 문서 모델에 해당하는 것으로, 프로그램과 스크립트에 의한 문서의 내용, 구조 종류 등의 동적인 접근과 변경이 가능할 수 있다. 또한, 스크립트나 프로그램 언어에 웹 페이지를 연결해줄 수 있다. 이 때, 웹 페이지를 조작 및 생성하기 위해 사용되는 속성, 방법 및 이벤트가 객체를 구성하는데, 이러한 객체들은 대부분의 웹 브라우저에서 스크립트 언어를 통해 접근할 수 있다.At this time, the document object model corresponds to an object-based document model for interworking extensibility-generated language documents through a web browser. Dynamic access and change of document contents and structure types by programs and scripts It may be possible. You can also link web pages to scripts or programming languages. At this time, the properties, methods, and events used to manipulate and create the web page constitute objects, which can be accessed through a scripting language in most web browsers.

이 후, 분석 서버(940)는 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출할 수 있다(S910).Thereafter, the analysis server 940 may detect a characteristic value for each of the plurality of pages based on at least two or more elements included in the document object model (S910).

이 때, 특성값은 정량적인 측정이 가능한 값에 상응할 수 있다. At this time, the characteristic value may correspond to a value capable of quantitative measurement.

예를 들어, 특성값은 아이디(ID)를 갖는 엘리먼트의 수, 각 엘리먼트들이 가지는 클래스(Class) 값의 종류의 개수 등으로 표현될 수 있다. 이 때, 아이디와 클래스값 같은 엘리먼트의 주요 요소들을 이용하여 2차적인 데이터를 생성함으로써 특성값이 보다 의미 있는 데이터로써 활용될 수 있다.For example, the characteristic value may be expressed by the number of elements having an ID, the number of types of class values each element has, and the like. At this time, by generating secondary data using the main elements of the elements such as ID and class value, the characteristic value can be utilized as more meaningful data.

이 후, 분석 서버(940)는 다차원 좌표를 기반으로 특성값을 군집화하고(S912), 군집화 결과를 기반으로 웹 어플리케이션에 상응하는 복수개의 페이지들을 웹 어플리케이션의 사용자 인터페이스 별로 분류할 수 있다(S914).Thereafter, the analysis server 940 clusters the characteristic values based on the multi-dimensional coordinates (S912) and classifies a plurality of pages corresponding to the web application for each user interface of the web application based on the clustering result (S914). .

이 때, 다차원 좌표 상의 거리를 고려하여 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화할 수 있다.At this time, at least one characteristic value corresponding to each of the plurality of pages may be clustered in consideration of the distance on the multidimensional coordinates.

예를 들어, 도 5에 도시된 것처럼 다차원 좌표 상에 페이지 별로 검출된 특성값이 표시되면, 특성값들 간의 거리를 고려하여 군집화를 수행할 수 있다. 즉, 기설정된 거리 이내의 특성값들을 군집화할 수 있다. 이 때, 기설정된 거리는 자유롭게 설정 및 변경될 수 있다.For example, when a characteristic value detected for each page is displayed on multidimensional coordinates as illustrated in FIG. 5, clustering may be performed in consideration of a distance between the characteristic values. That is, characteristic values within a predetermined distance can be clustered. At this time, the preset distance can be freely set and changed.

이 때, 군집화는 K-means, DBSCAN, hierarchical clustering 등과 같은 일반적인 군집화 알고리즘을 사용하여 수행될 수 있다.At this time, clustering may be performed using general clustering algorithms such as K-means, DBSCAN, hierarchical clustering, and the like.

이 때, 본 발명에서는 도 5의 예시와 같이, 아이디나 클래스값 같은 엘리먼트의 주요 요소로부터 데이터를 추출하여 군집화하기 때문에 서로 같은 사용자 인터페이스 페이지의 특성값들끼리 군집화될 수 있다. 따라서, 군집화된 특성값 데이터를 하나의 사용자 인터페이스를 구성하는 페이지로 정의하거나 분류할 수 있다. At this time, in the present invention, as illustrated in FIG. 5, since data is extracted and grouped from main elements of elements such as ID and class values, characteristic values of the same user interface page may be clustered. Accordingly, the clustered characteristic value data can be defined or classified as a page constituting one user interface.

이 때, 다차원 좌표는 적어도 2차원 이상의 좌표에 상응할 수 있다. 도 5에서는 2차원 좌표를 예시로 들었으나, 본 발명의 일실시예에 따른 다차원 좌표는 2차원 좌표에 한정되지 않고, 엘리먼트의 개수에 상응하게 사용될 수도 있다.In this case, the multi-dimensional coordinates may correspond to at least two-dimensional coordinates. In FIG. 5, two-dimensional coordinates are exemplified, but multi-dimensional coordinates according to an embodiment of the present invention are not limited to two-dimensional coordinates and may be used corresponding to the number of elements.

이 후, 웹 어플리케이션을 분석하여 제작 단계에서 정의된 구성대로 구현되었는지 문석 및 검토할 수 있다(S916).Thereafter, it is possible to analyze and analyze whether the web application is implemented according to the configuration defined in the production step (S916).

예를 들어, 웹 어플리케이션 개발자 또는 설계자로부터 제작 단계에 정의된 사용자 인터페이스 구성과 관련된 데이터를 획득하고, 본 발명에 따라 사용자 인터페이스 별로 분류된 페이지 정보를 비교함으로써 제작된 웹 어플리케이션이 의도대로 구현되었는지 검토할 수도 있다. 이러한 기능을 통해 제작된 웹 어플리케이션을 검토하는 시간과 비용을 현저히 감소시킬 수 있을 뿐만 아니라, 웹 어플리케이션의 사용자 인터페이스가 제대로 구현되지 않은 부분을 정확하게 검출할 수 있으므로 보다 신뢰성있는 웹 어플리케이션 서비스를 제공할 수도 있다.For example, a web application developer or designer may obtain data related to a user interface configuration defined in a production step and compare page information classified for each user interface according to the present invention to examine whether the produced web application is implemented as intended. It might be. Through these functions, it is possible to significantly reduce the time and cost of reviewing the produced web application, as well as to accurately detect the part where the user interface of the web application is not properly implemented to provide a more reliable web application service. have.

본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.The functional operations and subject implementations described in this specification may be implemented as digital electronic circuits, or computer software, firmware, or hardware including the structures disclosed herein and their structural equivalents, or a combination of one or more of them. It can be implemented. Implementations of the subject matter described herein are one or more modules for computer program instructions encoded on a tangible program storage medium to control or thereby execute operations of one or more computer program products, ie processing systems. Can be implemented.

컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of materials affecting a machine-readable propagated signal, or a combination of one or more of these.

본 명세서에서 '시스템'이나 '장치'라 함은 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포괄한다. 처리 시스템은, 하드웨어에 부가하여, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.As used herein, the term "system" or "device" encompasses all mechanisms, devices and machines for processing data, including, for example, programmable processors, computers or multiple processors or computers. The processing system may include, in addition to hardware, code that forms an execution environment for a computer program upon request, such as code constituting the processor firmware, protocol stack, database management system, operating system, or a combination of one or more of them. .

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.A computer program (also known as a program, software, software application, script, or code) can be written in any form of a compiled or interpreted language or a programming language, including a priori or procedural languages, standalone programs or modules, It can be deployed in any form, including components, subroutines or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in the file system. The program is in a single file provided to the requested program, or in multiple interactive files (e.g., one or more modules, files storing subprograms or parts of code), or part of a file holding other programs or data (Eg, one or more scripts stored in a markup language document). The computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.On the other hand, computer-readable media suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices, such as magnetic disks such as internal hard disks or external disks, magneto-optical disks and CDs. It can include any form of non-volatile memory, media and memory devices, including -ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

본 명세서에서 설명한 주제의 구현물은 예컨대 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 예컨대 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예컨대 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.Implementations of the subject matter described herein include, for example, a back-end component such as a data server, for example, a middleware component such as an application server, or, for example, a web browser or graphic user that allows a user to interact with the implementation of the subject matter described herein It may also be implemented in a front-end component, such as a client computer having an interface, or in a computing system that includes all one or more combinations of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, such as a communication network.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.This specification includes details of many specific implementations, but these should not be understood as limiting on the scope of any invention or claim, but rather as a description of features that may be specific to a particular embodiment of the particular invention. It should be understood. Likewise, certain features described herein in the context of individual embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Further, although features may operate in a particular combination and may be initially depicted as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, and the claimed combination subcombined. Or sub-combinations.

또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다Also, although the descriptions describe the operations in the drawings in a specific order, it should be understood that such operations must be performed in the specific order or sequential order shown in order to obtain a desired result, or that all illustrated actions should be performed. Can not be done. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems are generally integrated together into a single software product or packaged in multiple software products. Understand that you can

이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, this specification is not intended to limit the invention to the specific terms presented. Therefore, although the present invention has been described in detail with reference to the above-mentioned examples, those skilled in the art can make modifications, alterations and modifications to these examples without departing from the scope of the present invention. The scope of the present invention is indicated by the following claims rather than the above detailed description, and it should be interpreted that all changes or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are included in the scope of the present invention. do.

이상에서와 같이 본 발명에 따른 문서 객체 모델을 이용한 웹 어플리케이션 세부 페이지 분석 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the method and apparatus for analyzing a detailed page of a web application using the document object model according to the present invention are not limited to the configuration and method of the embodiments described above, and the embodiments are various. All or part of each of the embodiments may be selectively combined to constitute a modification.

본 발명에 의하면 웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델을 추출하고, 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 복수개의 페이지들 각각에 대한 특성값을 검출하고, 다차원 좌표를 기반으로 특성값을 군집화하고, 군집화 결과를 기반으로 복수개의 페이지들을 웹 어플리케이션에 대한 사용자 인터페이스 별로 분류할 수 있다. 나아가, 분류된 페이지 정보를 이용하여 웹 어플리케이션 개발자나 설계자가 웹 어플리케이션이 개발 단계에서 정의된 것처럼 제대로 구현되었는지 여부를 확인할 수도 있다.According to the present invention, a document object model is extracted based on a plurality of pages constituting a web application, characteristic values for each of the plurality of pages are detected based on at least two or more elements included in the document object model, and multidimensional coordinates are extracted. Characteristic values are clustered based on, and a plurality of pages can be classified according to a user interface for a web application based on the clustering result. Furthermore, by using the classified page information, the web application developer or designer may check whether the web application is properly implemented as defined in the development stage.

110, 710, 940: 분석 서버
120: 하나의 URL
410, 720: 클라우드 스트리밍 서버
411, 910: 클라우드 스트리밍 엔진
412, 920: 클라우드 브라우저
413: 웹 엔진
414: 웹 어플리케이션
730-1~730-n: 클라이언트
740: 네트워크
810: 통신부
820: 프로세선
830: 메모리
930: 웹 서버
110, 710, 940: analysis server
120: one URL
410, 720: cloud streaming server
411, 910: Cloud streaming engine
412, 920: Cloud browser
413: Web engine
414: Web application
730-1~730-n: client
740: network
810: communication department
820: processor
830: memory
930: Web server

Claims (10)

웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(DOCUMENT OF MODEL)을 추출하는 단계;
상기 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 상기 복수개의 페이지들 각각에 대한 특성값을 검출하는 단계; 및
다차원 좌표를 기반으로 상기 특성값을 군집화하고, 군집화 결과를 기반으로 상기 복수개의 페이지들을 상기 웹 어플리케이션에 대한 사용자 인터페이스(USER INTERFACE) 별로 분류하는 단계
를 포함하고,
상기 웹 어플리케이션은 하나의 URL을 통해 접근 가능한 싱글 페이지 웹 어플리케이션(SINGLE PAGE WEB APPLICATION)에 상응하고, 상기 복수개의 페이지들은 상기 하나의 URL에 포함되는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
Extracting a document object model (DOCUMENT OF MODEL) based on a plurality of pages constituting a web application;
Detecting a characteristic value for each of the plurality of pages based on at least two or more elements included in the document object model; And
Clustering the characteristic values based on multidimensional coordinates and classifying the plurality of pages by user interface for the web application based on the clustering result
Including,
The web application corresponds to a single page web application (SINGLE PAGE WEB APPLICATION) accessible through a single URL, and the plurality of pages are included in the single URL.
◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 2 was abandoned when payment of the registration fee was set.◈ 청구항 1에 있어서,
상기 웹 어플리케이션은
클라우드 스트리밍(CLOUD STREAMING) 기반의 클라우드 브라우저(CLOUD BROWSER)에서 실행되는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
The web application
A method of analyzing a detailed page of a web application, characterized in that it is executed in a cloud browser based on cloud streaming (CLOUD STREAMING).
삭제delete 청구항 1에 있어서,
상기 분류하는 단계는
상기 다차원 좌표 상의 거리를 고려하여 상기 복수개의 페이지들 각각에 상응하는 적어도 하나의 특성값을 군집화하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
The classification step
A method of analyzing a detailed page of a web application, characterized in that at least one characteristic value corresponding to each of the plurality of pages is clustered in consideration of the distance on the multidimensional coordinates.
청구항 1에 있어서,
상기 추출하는 단계는
상기 웹 어플리케이션에 대한 모든 메뉴를 네비게이션(NAVIGATION)하면서 상기 문서 객체 모델을 추출하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
The extracting step
A web application detailed page analysis method, characterized in that the document object model is extracted while navigating all menus for the web application.
◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 6 was abandoned when payment of the set registration fee was made.◈ 청구항 1에 있어서,
상기 특성값은 정량적인 측정이 가능한 값에 상응하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
The characteristic value is a web application detail page analysis method characterized in that it corresponds to a value capable of quantitative measurement.
◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈◈ Claim 7 was abandoned when payment of the set registration fee was made.◈ 청구항 1에 있어서,
상기 다차원 좌표는 적어도 2차원 이상의 좌표에 상응하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
The multi-dimensional coordinates, web application detailed page analysis method, characterized in that corresponding to at least two-dimensional coordinates.
청구항 1에 있어서,
사용자 인터페이스 별로 분류된 페이지 정보를 기반으로 페이지 별 사용자 이벤트를 분석하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
A method of analyzing a detailed page of a web application, further comprising analyzing user events for each page based on page information classified for each user interface.
청구항 1에 있어서,
상기 웹 어플리케이션의 제작 단계에서 정의된 사용자 인터페이스 구성과 사용자 인터페이스 별로 분류된 페이지 정보를 비교하여 상기 웹 어플리케이션이 제대로 구현되었는지 여부를 검토하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션 세부 페이지 분석 방법.
The method according to claim 1,
And comparing the user interface configuration defined in the production step of the web application with page information classified for each user interface and examining whether the web application is properly implemented.
웹 어플리케이션을 구성하는 복수개의 페이지들을 기반으로 문서 객체 모델(DOCUMENT OF MODEL)을 추출하고, 상기 문서 객체 모델에 포함된 적어도 둘 이상의 엘리먼트들을 기반으로 상기 복수개의 페이지들 각각에 대한 특성값을 검출하고, 다차원 좌표를 기반으로 상기 특성값을 군집화하고, 군집화 결과를 기반으로 상기 복수개의 페이지들을 상기 웹 어플리케이션에 대한 사용자 인터페이스(USER INTERFACE) 별로 분류하는 프로세서; 및
상기 문서 객체 모델 및 상기 특성값 중 적어도 하나를 저장하는 메모리
를 포함하고,
상기 웹 어플리케이션은 하나의 URL을 통해 접근 가능한 싱글 페이지 웹 어플리케이션(SINGLE PAGE WEB APPLICATION)에 상응하고, 상기 복수개의 페이지들은 상기 하나의 URL에 포함되는 것을 특징으로 하는 분석 서버.
A document object model (DOCUMENT OF MODEL) is extracted based on a plurality of pages constituting a web application, and a characteristic value for each of the plurality of pages is detected based on at least two or more elements included in the document object model, A processor that clusters the characteristic values based on multidimensional coordinates and classifies the plurality of pages for each user interface (USER INTERFACE) for the web application based on the clustering result; And
Memory for storing at least one of the document object model and the characteristic values
Including,
The web application corresponds to a single page web application (SINGLE PAGE WEB APPLICATION) accessible through a single URL, and the plurality of pages are included in the single URL.
KR1020180051424A 2018-05-03 2018-05-03 Method for analyzing detail page of web-application using document of model and apparatus thereof KR102131080B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180051424A KR102131080B1 (en) 2018-05-03 2018-05-03 Method for analyzing detail page of web-application using document of model and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180051424A KR102131080B1 (en) 2018-05-03 2018-05-03 Method for analyzing detail page of web-application using document of model and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20190134880A KR20190134880A (en) 2019-12-05
KR102131080B1 true KR102131080B1 (en) 2020-07-08

Family

ID=69002346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180051424A KR102131080B1 (en) 2018-05-03 2018-05-03 Method for analyzing detail page of web-application using document of model and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102131080B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101546725B1 (en) * 2015-01-26 2015-08-25 (주)유코아시스템 Responsive layouts design method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185544B2 (en) 2009-04-08 2012-05-22 Google Inc. Generating improved document classification data using historical search results
KR101562232B1 (en) * 2013-06-24 2015-10-23 서울시립대학교 산학협력단 A WordNet based feature merge method for Automatic document classification system performance improvement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101546725B1 (en) * 2015-01-26 2015-08-25 (주)유코아시스템 Responsive layouts design method

Also Published As

Publication number Publication date
KR20190134880A (en) 2019-12-05

Similar Documents

Publication Publication Date Title
US11169991B2 (en) System and method for extracting and sharing application-related user data
US10990644B2 (en) Systems and methods for contextual vocabularies and customer segmentation
US10091628B2 (en) Message based application state and card sharing methods for user devices
US10628132B2 (en) Inversion of control framework for multiple behaviors of a process
US20110289407A1 (en) Font recommendation engine
US20140325374A1 (en) Cross-device user interface selection
US9507480B1 (en) Interface optimization application
US20150169710A1 (en) Method and apparatus for providing search results
US9015657B2 (en) Systems and methods for developing and delivering platform adaptive web and native application content
US9754034B2 (en) Contextual information lookup and navigation
US10789066B1 (en) Automatically upgrading and finding components similar to legacy versions
US9684718B2 (en) System for searching for a web document
CN114896374A (en) Man-machine interaction method and device
US20160191338A1 (en) Retrieving content from an application
US11430163B2 (en) Displaying a chart without rendering entirely obscured markers
US10853470B2 (en) Configuration of applications to desired application states
KR102131080B1 (en) Method for analyzing detail page of web-application using document of model and apparatus thereof
US11294644B2 (en) Inversion of control framework for multiple behaviors on top of a process
KR102061682B1 (en) Method for analyzing user activity based on cloud browser and apparatus thereof
KR102150561B1 (en) Method for cloud streaming service based on predict of user acticity and apparatus for the same
US11671529B2 (en) Cross-channel configurable navigation
US11455311B2 (en) Multi-locator system for tracking data elements in resources
KR102177971B1 (en) Method for play back user activity in enviroment of cloud streaming and apparatus for the same
KR20170030382A (en) Method and system for providing search result of words within content

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant