KR20020039329A - 동적 쿼리 모델 및 방법 - Google Patents

동적 쿼리 모델 및 방법 Download PDF

Info

Publication number
KR20020039329A
KR20020039329A KR1020027001295A KR20027001295A KR20020039329A KR 20020039329 A KR20020039329 A KR 20020039329A KR 1020027001295 A KR1020027001295 A KR 1020027001295A KR 20027001295 A KR20027001295 A KR 20027001295A KR 20020039329 A KR20020039329 A KR 20020039329A
Authority
KR
South Korea
Prior art keywords
user
model
query model
predefined
database
Prior art date
Application number
KR1020027001295A
Other languages
English (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 엘그레시 도론
Publication of KR20020039329A publication Critical patent/KR20020039329A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Abstract

데이터베이스 쿼리하기 위해 기정의된 쿼리 모델을 저장하는 것을 포함하는 데이터베이스 쿼리를 생성하기 위한 방법을 제공한다. 요구에 의해 기정의된 쿼리 모델의 접근가능한 부분이 디스플레이된다. 기정의된 쿼리 모델의 접근가능한 부분에 대한 사용자의 편집사항이 접수되어 사용자 각색 쿼리 모델을 생성하기 위해 사용된다. 쿼리는 사용자 각색 쿼리 모델에 기초하여 개시된다.

Description

동적 쿼리 모델 및 방법{DYNAMIC QUERY MODEL AND METHOD}
비즈니스 인텔리전스 시스템(Business Intelligence Systems)은 의사 결정 시스템(Decision Support Systems : DSS) 및 임원 정보 시스템(Executive Information Systems : EIS)에서 출발하였다. 의사 결정 시스템(DSS) 및 임원 정보 시스템(EIS)은 존재하는 온-라인 트랜잭션 처리 시스템(OLTP)으로부터 추가적인 정보를 제공하는 가치 부가 시스템이다.
비즈니스 인텔리전스 시스템이 발달함에 따라, 이 시스템들은 의사 결정 시스템(DSS)의 기능 및 임원 정보 시스템(EIS)의 기능을 결합하고 온라인 분석 처리(OLTP)툴 및 관리 리포팅툴을 추가하였다. 이러한 혼합형 비즈니스 인텔리전스 시스템은 보다 나은 사용자 액세스를 위해 점차적으로 메인 프레임 환경에서 분산 서버/데스크탑 환경으로 이동해 왔다.
최근에는 중앙집중식 데이터 웨어하우스(warehouses) 및 데이터마트(datamarts)의 출현은 한 조직내에서 분석, 검출 및 분배되기 위해 대기하는 유용한 데이터 면에 있어서 상당한 진전을 가져왔다. 그러나, 그러한 데이터 웨어하우스 및 데이터마트는 일반적으로 트랜잭션 처리보다는 정보 전달을 위해 최적화되어 있다. 그 결과, 데이터 웨어하우스 및 데이터마트는 저장된 데이터를 유용하며 전략적이고 적절한 정보로 전환하는데 있어 제한된 솔루션만을 제공한다.
동시에 비즈니스 인텔리전스 시스템은 한 조직내에서 효과적인 계획 및 의사 결정을 지원하기 위해 많은 양의 저장된 정보를 분석하기 위한 정교한 분석툴을 제공함으로써 탁월함을 갖고 있다.
비즈니스 인텔리전스 시스템 및 다른 분석툴은 초보 사용자나 다른 정보 소비자들이 데이터베이스로부터 정보를 획득하는 데 도움을 주기 위해 일반적으로 기정의된(predefined) 쿼리 모델을 제공한다. 그러나, 그러한 기정의된 쿼리 모델의 문제점은 다소 포괄적이어서 특별한 사용자의 요구에 맞지 않는다는 것이다. 매우 적절한 정보를 얻기 위해서는 사용자는 스스로 고객의 쿼리를 작성하여만 하며, 이는 보통 상당한 데이터베이스 지식을 요하게 된다. 결과적으로 모든 사용자가 기정의된 쿼리 모델을 사용하여 어떤 정보를 얻을 수는 있지만, 대부분의 사용자들은 그들에게 상당히 적절한 정보를 얻을 수는 없다.
본 발명은 분석적 데이터 프로세싱에 관한 것으로, 보다 상세하게는 맞춤화된(customized) 데이터베이스 쿼리를 수행하기 위한 동적 쿼리 모델 및 방법에 관한 것이다.
본 발명에 대한 보다 완전한 이해 그리고 보다 나은 특징 및 장점들은 첨부된 도면을 참고하여 설명되어질 것이다.
도 1은 본 발명의 일실시예에 따른 비즈니스 인텔리전스 포탈을 설명하기 위한 블록도,
도 2는 본 발명의 일실시예에 따라 도 1의 비즈니스 인텔리전스 포탈을 개시하기 위한 방법을 설명하는 흐름도,
도 3은 본 발명의 일실시예에 따라 도 1의 비즈니스 인텔리전스 포탈에서 기정의된 쿼리 모델을 생성하기 위한 방법을 설명하는 흐름도,
도 4는 본 발명의 일실시예에 따라 도 1의 비즈니스 인텔리전스 포탈에서 클라이언트 애플리케이션들을 배치하고 관리하기 위한 방법을 설명하는 흐름도,
도 5는 본 발명의 일실시예에 따라 기정의된 쿼리 모델에 기초하여 쿼리 모델을 생성하고 실행하기 위한 방법을 설명하는 흐름도,
도 6은 본 발명의 일실시예에 따라 도 1의 모듈식 쿼리 엔진의 동작을 설명하기 위한 블록도,
도 7은 본 발명의 일실시예에 따라 도 6의 모듈식 쿼리 엔진의 동작을 설명하기 위한 흐름도,
도 8은 본 발명의 일실시예에 따른 다차원 저장모델을 설명하기 위한 블록도,
도 9는 도 8의 다차원 저장모델을 위한 예시적 데이터를 설명하기 위한 흐름도,
도 10은 본 발명의 일실시예에 따라 도 8의 다차원 저장모델을 생성하기 위한 방법을 설명하기 위한 흐름도,
도 11은 본 발명의 일실시예에 따라 도 1의 포트폴리오에서의 관련된 뷰들의 디스플레이를 설명하기 위한 화면 구성도,
도 12는 본 발명의 일실시예에 따라 관련된 뷰들사이에서 네비게이트하기 위한 윈도우 탭을 설명하기 위한 화면 구성도이다.
본 발명은 종래의 시스템 및 방법과 관련한 단점 및 문제점을 제거 또는 감소시키기 위한 동적 쿼리 모델 및 방법을 제공한다. 특히, 맞춤화(customization)를 위해 사용자에게 기정의된 쿼리 모델이 제공된다. 이는 사용자로 하여금 기정의된 쿼리 모델을 그들의 특별한 요구에 맞게 빠르고 쉽게 각색할 수 있게 한다.
본 발명의 일실시예에 있어서, 데이터베이스 쿼리를 생성하기 위한 방법은 데이터베이스를 쿼리(querying)하기 위한 기정의된 쿼리 모델을 저장하는 단계를 포함한다. 상기 기정의된 쿼리 모델의 접근가능한 부분이 요구에 의해 사용자에게 디스플레이된다. 상기 기정의된 쿼리 모델의 접근가능한 부분에 대한 사용자의 편집사항은 접수되어 사용자 각색 쿼리 모델을 생성하기 위해 사용된다.
보다 상세하게는, 본 발명의 특별한 일실시예에 있어서, 상기 디스플레이는 상기 기정의된 쿼리 모델을 정의하는 접근가능한 데이터 요소들의 그래픽 뷰다. 접근가능한 데이터 요소들의 그래픽 뷰는 접근가능한 테이블, 열과 테이블 및 테이블간의 결합을 포함한다. 상기 그리고 다른 실시예에 있어서, 사용자 각색 쿼리 모델은 데이터베이스 테이블, 데이터베이스 열 및 상기 기정의된 쿼리 모델로부터 변형되거나 결핍된 테이블 결합을 포함할 수 있다.
본 발명의 기술적 장점은 쿼리 모델이 조직내에서 보다 지능적으로 생성되고 사용되게 하는 개선된 비즈니스 인텔리전스 포탈을 제공하는 것을 포함한다. 특히, 상기 비즈니스 인텔리전스 포탈은 기본값으로 제공되는 쿼리 모델이 데이터 요소들의 그래픽 뷰를 사용하여 구축되고 변경되는 것을 허용한다. 가능한 한, 쿼리모델내의 특정 데이터는 자동으로 링크된다. 결과적으로 쿼리는 전문화된 데이터베이스 지식이 없이도 사용자에 의해 쉽게 정의되고 후에 변경될 수 있다.
본 발명의 다른 기술적 장점은 의미 있는 정보를 습득하고 분석할 수 있게 하는 쿼리 모델 및 방법을 제공하는 것을 포함한다. 특히, 기정의된 쿼리 모델이 각색 및 맞춤화되기 위해 사용자에게 제공된다. 결과적으로, 초보 사용자 및 다른 정보 소비자들이 그들의 특별한 요구에 맞도록 쿼리를 변경할 수 있다. 이는 모든 사용자에 의한 로버스트(robust)한 데이터 분석을 쉽게 하고 초보 사용자가 그 조직내에서 향상된 작업을 할 수 있도록 이용가능한 정보를 효과적으로 사용할 수 있게 한다.
본 발명의 다른 장점들은 다음의 도면, 발명의 상세한 설명 및 청구의 범위로부터 당업자에게 자명해질 것이다.
도 1은 본 발명의 일실시예에 따른 비즈니스 인텔리전스 포탈(portal : 10)을 설명하는 도면이다. 개략적으로 설명하면, 상기 비즈니스 인텔리전스 포탈(10)은 정교한 다차원 분석툴뿐만 아니라 기업에서의 정보 공유 및 무결성의 데이터 접근을 제공한다. 상기 분석툴은 고도로 자동화되고 직관적이어서 넓은 범위의 사용자가 전략적 결정을 함에 있어 저장된 정보를 활용할 수 있게 한다. 이러한 방법으로, 상기 비즈니스 인텔리전스 포탈(10)은 사용자가 데이터로부터 얻는 의사결정을 위한 이점(decision support benefits)은 최대화하는 반면에 시스템 구축 및 관리를 위한 비용은 최소화한다.
도 1에 나타낸 실시예에 있어서, 비즈니스 인텔리전스 포탈(10)은 하나 또는 그 이상의 네트워크(18)로 연결되는 데이터베이스 계층(12), 서버 계층(14) 및 클라이언트 계층(16)으로 이루어지는 3계층(three-tier)의 분산 구조를 구현한다. 서버 및 클라이언트 계층(14, 16)은 인터넷 통신 프로토콜(TCP/IP), 다중 클라이언트 및 서버 플랫폼, 다양한 데이터 소스로의 접속 및 기업에서의 포탈(10)의 완전한 범위성(scalability)을 지원하기 위해 자바(Java) 기반이다. 추가로, 자바 기반의 서버 및 클라이언트(14, 16)는 데이터베이스에서 구조화된 데이터 및 구조화되지 않은 데이터를 처리하기 위해 고도로 적응성 있고(adaptable) 기능적인 개방형 API 구조를 제공한다. 상기 클라이언트/서버 네트워크(18)는 회사 인트라넷을 포함하고 서버/데이터베이스 네트워크(18)는 공중망 및 사설망을 포함한다. 상기 비즈니스 인텔리전스 포탈(10)은 다른 적절한 구조, 프로그래밍 언어 및 링크들에의해 구현될 수도 있다는 것은 자명할 것이다.
도 1을 참조하면, 데이터베이스 계층(12)은 하나 또는 그 이상의 데이터베이스(20)를 포함한다. 하기에서 보다 상세히 설명하는 바와 같이, 데이터베이스(20) 각각은 데이터베이스 로그인을 포함하여 데이터베이스(20)에 연결하기 위해 필요한 모든 정보를 포함하는 앨리어스(alias)로서 나타내진다. 데이터베이스 앨리어스를 사용하는 것은 본래의(native) 데이터베이스에 사용자가 직접적인 접속을 하는 것을 방지하여 데이터베이스(20)의 무결성(integrity)을 유지하기 위한 것이다. 데이터베이스(20)는 각각 적당한 웨어하우스 또는 데이터마트뿐만 아니라 임의의 JDBC(Java DataBase Connection) 또는 ODBC(Object DataBase Connection)일 수 있다.
서버 계층(14)은 하나 또는 그 이상의 서버(30)를 포함한다. 상기 서버(30) 각각은 다른 플랫폼들에서 동작가능한 자바 기반의 애플리케이션들(applications)로 이루어진다. 하기에서 상세히 설명되는 바와 같이, 서버(30)는 비즈니스 인텔리전스 포탈(10)을 위해 계층적 보안, 중앙집중식 관리, 빠른 멀티스레드 풀 데이터 액세스(multithreaded pooled data access) 및 다차원 데이터 분석을 제공한다.
서버(30)는 카타로그(32), 카타로그 매니저(34), 보안 매니저(36), 쿼리 생성기(38), 데이터베이스 액세스 시스템(40), 캐시 매니저(42), 다차원 모델 매니저(44) 및 클라이언트 관리자(46)를 포함한다. 카타로그(32)는 비즈니스 인텔리전스 포탈(10)의 관리자 및 사용자에 의해 생성되는 모든 구성, 도큐먼트(documents) 및 작업물을 저장한다. 도큐먼트의 이러한 중앙집중식 관리는 클라이언트 시스템에 상주하는 불필요하고 오래된 사본들을 제거하고 기업 내부에서 도큐먼트가 공유될 수 있도록 하며, 도큐먼트에 대한 계속적인 보안을 제공한다. 카타로그 매니저(34)는 서버 내부에서의 모든 공유 정보를 관리한다. 비즈니스 인텔리전스 포탈(10) 내부에서 상기 구성, 도큐먼트, 작업물들이 다른 형태로 저장되고 관리될 수도 있다는 것은 자명할 것이다.
카타로그(32)는 시스템 관리자에 의해 구성된 하나 또는 그 이상의 데이터베이스 앨리어스(50), 유저 프로파일(52), 보안 그룹(54) 및 기정의된 쿼리 모델(56)을 포함한다. 카타로그(32)는 또한 시스템 사용자에 의해 생성된 관련 뷰들(views)을 저장하는 하나 또는 그 이상의 포트폴리오(58)를 포함한다. 이미 기술한 바와 같이, 데이터베이스 앨리어스(50)는 데이터베이스(20)에 연결하기 위해 필요한 모든 정보를 포함하고 있다. 데이터베이스 앨리어스(50)의 사용은 본래의 데이터베이스에 사용자가 직접적인 접속을 하는 것을 방지하여 데이터베이스(20)의 무결성을 유지하고 비전문적인 사용자가 데이터 훼손에 대한 두려움이 없이 안전하게 회사 데이터에 접근할 수 있도록 한다. 추가로, 데이터베이스 앨리어스(50)는 또한 물리적인 데이터베이스(20)로의 풀형태의 접속(pool connections)을 제공함으로써 많은 수의 클라이언트들을 지원하기 위해 필요한 데이터베이스 연결수를 줄일 수 있다.
유저 프로파일(52) 각각은 사용자의 특정 권한(privileges) 범위와 사용자가 접근할 수 있는 하나 또는 그 이상의 보안 그룹(54)을 정의한다. 유저 프로파일(52)은 시스템 관리자에 의해 생성되고 관리된다. 보안 그룹(54)은 시스템 관리자에 의해 각 그룹(54)에 할당되는 권한 및 보안 권리(security rights)에 의해 계층적 보안 모델을 구현한다. 시스템의 보안 그룹(54) 및 유저 프로파일(52)을 추가, 변경 및 삭제의 허용을 포함해 시스템으로의 완전한 접근을 관리자에게 부여하기 위해 관리자 보안 그룹이 제공된다. 사용자가 부여받는 최종적인 보안 권리 및 권한은 그가 속한 각 보안 그룹(54) 및 유저 프로파일(52)에서 정의된 개인의 권리의 결합이다. 이러한 방법으로 보안 그룹(54) 또는 개별 유저 프로파일(52)에 의해 할당 또는 보류된 허용 또는 권한의 광범위한 사용에 의해 시스템 특성의 노출이 제어된다. 그러므로, 관리자는 데이터베이스(20)에 접속하여 사용자를 추가 또는 삭제할 수 있는 권한을 가질 수 있으나, 파워 유저들(power users)은 이러한 권한을 가질 수 없다. 대신에, 파워 유저는 공동작업물(collaboration features) 및 데이터 분석물에의 완전한 범위의 접근을 할 수 있으며, 반면에 정보 소비자들은 관리자 및 파워 유저에 의해 미리 정의된 리포트 또는 챠트를 실행 또는 각색할 수 있을 뿐이다.
기정의된 쿼리 모델(56)은 비전문적인 사용자가 쉽고 직관적으로 쿼리 생성을 할 수 있게 하는 특정 데이터베이스에 대한 자체 구비형(self-contained) 논리적 모델(logical models)이다. 기정의된 쿼리 모델(56)은 특정 쿼리 모델(56)을 사용할 사용자의 그룹 또는 그룹들과 관련된 데이터베이스(20)만의 요약 데이터를 나타내기 위한 데이터베이스(20) 요약 데이터를 추가로 포함한다. 기정의된 쿼리 모델(56)은 데이터베이스로부터 관련된 테이블, 데이터베이스내의 필드 및 쿼리를 정의하는 데이터베이스들간의 링크를 포함한다. 기정의된 쿼리 모델(56)은 사용자에 의해 생성되는 모든 쿼리에 대한 기초(basis)를 형성한다. 기정의된 쿼리 모델(56)은 임의의 집합의 사용자가 접근할 임의의 데이터베이스(20)에서의 요소들(elements)을 제어한다. 추가로, 기정의된 쿼리 모델(56)은 임의의 사용자 그룹에 의해 생성될 수 있는 쿼리의 형태를 제한할 수 있는 메커니즘을 수립한다. 특히, 상기 메커니즘은 쿼리를 실행하기 위해 사용될 수 있는 최대의 컴퓨터 자원 또는 관리자와, 비즈니스 인텔리전스 포탈(10)의 무결성에 영향을 줄 수 있는 악의적인 쿼리를 방지하기 위한 테이블간의 허용가능한 결합(joins)을 정의한다.
포트폴리오(58)는 사용자가 생성 또는 획득한 뷰(views,60)를 저장하기 위한 파일 시스템을 제공한다. 추가로, 내부적으로 뷰(60)를 생성하기 위해, 포트폴리오(58)는 예를 들면, 워드프로세싱 도큐먼트, 스프레드시트 도큐먼트 및 웹 페이지의 뷰(60)를 생성한다. 포트폴리오(58)는 각각 수집된 뷰 또는 다른 관련된 데이터 집합을 재저장할 수 있는 혼합 파일(compound file)이다. 뷰(60)는 포트폴리오(58) 내부에 직접 저장되거나 포트폴리오(58) 내에서 서로 링크되어질 수 있다.
포트폴리오(58)로의 접근은 사용자를 위해 수립된 보안 파라미터 그리고 추가적으로 포트폴리오(58) 내의 뷰(60)의 생성자에 의해 결정된다. 일실시예에 있어서, 사용자는 접근 권한이 없는 포트폴리오(58)는 볼 수 없다. 추가로, 포트폴리오(58)는 그 내부의 뷰(60)가 갱신되거나 변경되는 경우 관련 사용자에게 자동으로 통지할 수 있도록 맞춤화될 수 있다. 이러한 점에서, 기업 내부에서의 공동작업과 정보 고유를 용이하게 하는 시스템의 동작에 대한 보안은 완벽하게 된다.
뷰(60)는 예를 들면, 테이블, 그래프, 리포트, 피봇(pivots) 및 웹 페이지와 같은 다양한 형태의 포맷을 디스플레이하기 위한 데이터를 제공한다. 뷰(60)는 현재 데이터를 나타내기 위한 라이브 뷰(live view) 또는 특정 시간에서의 데이터에 대한 스냅샷(snapshot)일 수 있다. 추가로, 하기에서 보다 상세히 설명되는 바와 같이, 라이브 뷰(60)는 규칙적인 간격으로 자동적으로 갱신되도록 할 수 있으며, 처음으로 열릴 때 갱신되도록 하는 등의 방법으로 갱신될 수 있다. 스냅샷(60)은 이전의 스냅샷에 겹쳐지거나 또는 시퀀스 형태의 스냅샷으로 설정되거나 이력적인 분석을 위한 롤-오버(rollover) 뷰(60)일 수 있다. 뷰(60)는 사용자에 의해 사적으로 저장될 수 있으며 또는 공동작업 및 의사 결정을 용이하게 하기 위해 하나 또는 그 이상의 그룹에 배포 또는 공유되도록 할 수 있다.
보안 매니저(36)는 비즈니스 인텔리전스 포탈(10)에서의 보안을 담당한다. 특히, 보안 매니저(36)는 유저 프로파일(52) 및 보안 그룹(54)을 생성 및 관리하기 위해 기정의된 보안 태스크를 포함한다. 보안 매니저(36)는 또한 유저 프로파일(52) 및 보안 그룹(54)이 패어런트 클래스(parent classes)로부터 권한을 부여받을 수 있도록 하는 보안 계층(security hierarchy)을 제공한다. 이러한 방법에 의해, 시스템 관리자는 비즈니스 인텔리전스 포탈(10)에 대한 보안을 용이하게 수립하고 유지할 수 있다.
쿼리 생성기(38)는 시스템 관리자와 파워 유저가 쿼리 모델(56)을 정의하는데 도움을 주기 위해 데이터베이스 요소들의 그래픽 뷰를 제공한다. 기정의된 쿼리 모델(56)은 각각 데이터베이스 연결, 데이터베이스로부터 나타나는 테이블 및칼럼 패밀리, 허용가능한 결합 타입 및 조합, 메타데이터, 실행 관리자 및 쿼리에 대한 앨리어스를 정의한다. 기정의된 쿼리 모델(56)은 안전한 쿼리를 수행할 수 있도록 넓은 범위의 사용자에 의해 각색되어 사용되어질 수 있다.
데이터베이스 액세스 시스템(40)은 데이터베이스(20)에 대해 접근 및 질문을 수행하고 가공, 분석 및 사용자에 의한 리포트를 위해 질문 결과를 서버(30)로 보내기 위한 함수 및 소프트웨어를 포함한다. 이를 위해 데이터베이스 액세스 시스템(40)은 쿼리 스케줄러(72), SQL 생성기(74), 연결 관리자(76) 및 JDBC(Java DataBase Connection ; 78)를 포함한다.
쿼리 스케줄러(72)는 스케줄되어 있는 쿼리를 개시시킨다. 이미 논의된 바와 같이, 뷰(60)내에 포함된 계산 및 데이터를 포함하는 임의의 뷰(60)는 특별한 타임 스케줄을 포함하는 여러 옵션에 따라 데이터베이스(20)로부터 리프레쉬(refresh)되도록 설정될 수 있다. 이는 뷰(60)로 하여금 데이터의 현재 상태를 반영하여 쉽게 리프레쉬되도록 하며 사용자는 최신화된 정보에 의해 작업을 할 수 있도록 한다. 추가로, 스냅샷 뷰(60)는 동일한 쿼리에 근거하여 스냅샷 뷰(60)의 이력적인 저장소(historical repository)를 생성할 수 있도록 자동적으로 스케줄되어질 수 있다. 그러므로, 예를 들면, 뷰(60)는 매 월요일, 수요일 및 금요일 오후 10:00에 갱신되어 공유된 포트폴리오(58)를 통해 사용자 그룹에 자동적으로 배포되도록 스케줄될 수 있다.
SQL 생성기(74)는 사용자로부터 사용자에 의해 각색된 또는 각색되지 않은 쿼리모델을 전달받아 연결 관리자(76)에 의해 실행되기 위한 텍스트 형태의 SQL 쿼리를 생성한다. 이러한 방법으로, 사용자에 의해 그래픽으로 디스플레이되고 편집된 쿼리 모델은 실행가능한 데이터베이스 명령들(instructions)로 자동적으로 변환되어 실행된다. 이는 초보 사용자 및 다른 정보 소비자들로 하여금 비즈니스 인텔리전스 포탈(10)에 대한 프로그래밍 지식이 거의 없이도 자유자재로 사용할 수 있게끔 한다.
본 발명의 일실시예에 있어서, SQL 생성기(74)는 텍스트형의 SQL을 생성하기 위해 대화형 생성기(dialogue specific generator) 및 SQL 파스 트리(SQL parse tree)를 포함한다. 대화형 생성기는 비즈니스 인텔리전스 포탈(10)에 의해 액세스되거나 비즈니스 인텔리전스 포탈(10)과 연결되어 사용되는 여러 다른 형태의 데이터베이스(20)에 대응된다.
연결 관리자(76)는 SQL 생성기(74)로부터 텍스트 형태의 SQL 쿼리 요구를 받아 JDBC(78)에 의해 요구된 쿼리를 수행하기 위해 데이터베이스(20)와 통신한다. 연결 관리자(76)는 지능형 데이터셋(82) 및 데이터 드라이버(84)의 라이브러리를 포함하는 모듈식 쿼리 엔진(80)을 포함한다. 하기에서 보다 상세히 설명되는 바와 같이, 데이터 드라이버(84)는 기정의된 데이터베이스 동작을 수행한다. 지능형 데이터셋(82)은 쿼리 요구를 수행하기 위해 필요한 대로 라이브러리로부터 데이터 드라이버(84)를 선택하고 명령한다. 결과적으로, 데이터베이스 액세스 방법은 표준화되며 데이터셋은 각각의 애플리케이션을 위해 정형화될 필요가 없다.
캐시 매니저(42)는 복수의 페이지(92) 및 프로세스 스레드(94)를 갖는 캐시를 포함한다. 캐시 매니저(42)는 쿼리 요구에 응답하여 데이터베이스(20)로부터추출된 데이터를 수신하고 이를 페이지(92)로 공급한다. 캐시 매니저(42)는 데이터를 페이지(92)로 공급하기 위해 캐시(90)를 구동하는 프로세스 스레드(94)와 비동기적으로 동작한다. 데이터는 서버(30)에 의해 다른식으로 적절히, 수신, 저장 및 처리될 수 있음은 자명할 것이다.
다차원 모델 매니저(44)는 다차원 저장모델(100) 생성 및 가공한다. 하기에서 보다 상세히 설명되는 바와 같이, 다차원 저장모델(100)은 모델(100)의 크기를 최소화하기 위해 논-스파스(non-sparse) 구조를 활용한다. 모델(100)의 크기가 작아짐으로 인해 처리 시간을 개선하고 데이터 분석에 있어 효과적인 피봇 및 드릴(pivot and drill) 동작이 가능하다. 추가로, 모델(100)은 모델이 구축된 후에 계산이 동적으로 수행될 수 있도록 개방형 구조를 사용한다. 결과적으로, 사용자는 모델(100)의 본래의 정의에서 예상되지 않았던 데이터 인터섹션(intersection)을 분석하기 위한 새로운 계산법을 생성할 수 있다. 이는 피봇 및 드릴 동작을 지원하기 위해 필요한 시간 및 자원을 줄일 수 있게 한다.
클라이언트 관리자(46)는 포탈(10)이 클라이언트 관리를 수행하기 위한 중앙집중화된 지침을 제공한다. 클라이언트 관리자(46)는 사용자의 능률은 최대화하면서도 항상 최신의 애플리케이션들이 클라이언트에 의해 사용되는 것을 보장할 수 있도록 클라이언트 애플리케이션들의 배치를 자동적으로 관리하는 제로 관리 구조(zero-administration architecture)를 제공한다.
클라이언트 계층(16)은 복수의 클라이언트(110)를 포함한다. 클라이언트(110)는 각각의 클라이언트 및 서버(30)로부터 원격지에 또는 로컬로 위치할 수 있다. 본 발명의 일실시예에 있어서, 클라이언트(110)는 시스템 관리를 포함하여 서버(30)로의 모든 접근을 제공한다. 이미 기술한 바와 같이, 모든 클라이언트(110)의 기능은 서버(30)상에 저장된 권한들의 로버스트(robust)한 셋에 의해 제어된다. 권한들은 개별 사용자 및 사용자들의 보안 그룹 양자에 허가된다. 이러한 방법으로, 비즈니스 인텔리전스 포탈(10)의 로버스트한 기능은 비전문적인 사용자에게 복잡한 것으로 인식되지 않으면서 기업 내부의 전체 사용자에게 적절히 계량화되고(metered-out) 제어된다.
클라이언트(110)는 클라이언트 API(112)와 그래픽 유저 인터페이스(GUI;114)를 포함한다. 본 발명의 바람직한 실시예에 있어서, 클라이언트(110)는 모든 컴포넌트는 자바 피스(Java pieces) 또는 자바 빈(Java beans)에 의해 설계된다. 본 실시예에 있어서, 하기에서 보다 상세히 설명되는 바와 같이, 클라이언트(110)는 서버와의 연결을 수립할 때 자신의 컴포넌트를 식별한다. 이는 클라이언트(110)의 효과적인 관리와 클라이언트(110)로의 추가적인 기능의 통합을 가능케 한다.
클라이언트 API(112)는 클라이언트(110)가 서버와 어떻게 통신할 것인가를 정의하는 자바 클래스들의 셋으로 구성된다. 클라이언트 API(112)는 어느 자바 프로그램도 서버(30)와 통신하는 것을 허용하기 때문에, 기업은 클라이언트(110)를 위해 추가적이고 맞춤화된 능력을 효과적으로 추가할 수 있다.
그래픽 유저 인터페이스(114)는 관리 패널 셋(116), 유저 패널 셋(118), 위저드 셋(120), 쿼리 구성자(122), 뷰어 셋(124) 및 속성 검사기(126)를 포함한다. 관리 및 유저 패널(116, 118)은 각각의 동작에 의해 관리자와 사용자를 가이드하기위한 그래픽 디스플레이를 제공한다.
위저드(120)는 생성 프로세스를 하나 또는 그 이상의 논리적 단계로 분할하고 생성프로세스를 통해 관리자 및 사용자를 가이드한다. 이는 초보 사용자 및 다른 정보 소비자들이 상세한 프로그래밍 지식이 없이도 쿼리의 수행 및 결과의 분석을 행할 수 있게 한다.
쿼리 구성기(122)는 데이터가 어디로부터 전달되고, 어떤 데이터를 디스플레이하며 어떻게 저장될 것인지를 지정한다. 쿼리 구성기(122)는 사용자가 그들의 특별한 요구에 맞게 직관적으로 모델(56)을 이해하고 변경할 수 있도록 기정의된 쿼리 모델(56)의 그래픽 화면을 제공한다. 본 발명의 일실시예에 있어서, 쿼리 구성기(122)는 사용자로 하여금 자신들이 가진 권한 내에서의 모델(56)내 데이터만을 볼 수 있도록 한다. 쿼리 구성기(122)는 기정의된 쿼리 모델(56)에 대한 사용자의 편집물을 서버(30)에 업로드되고 서버(30)에서 실행될 수 있는 사용자 각색 쿼리 모델(128)로서 저장한다.
뷰어(124)는 테이블, 그래프, 리포트, 피봇, 웹 페이지 등을 위한 데이터 뷰의 조합을 생성한다. 뷰어(124)는 사용자가 임의의 뷰(60)에서 다른 것으로 전환하고 데이터를 소트 및 필터링하는 것을 용이하게 한다. 뷰(60)는 또한 웹서버에서 공표되거나 카타로그(32)에서 공유되기 위해 HTML로 엑스포트(export)될 수 있다. 이미 기술된 바와 같이, 데이터 뷰(60)는 라이브 뷰 또는 스냅샷일 수 있다. 뷰(60) 또는 뷰(60)의 포트폴리오(58)는 개별 사용자 자신의 카타로그 영역 내에 사적으로 저장되거나 공동작업 및 의사 결정을 용이하게 하기 위해 하나 또는 그이상의 보안 그룹(54)에 배포 및 공유되어질 수 있다.
뷰어(124)내에서, 테이블 뷰어(130)는 정보를 일련의 행 및 열로 디스플레이한다. 테이블 뷰는 어떻게 정보가 구성되었는지에 대한 전반적인 아이디어를 제공하기 때문에 아이디어를 발전시키기 위한 시작점으로서의 역할을 한다. 테이블 뷰에서, 사용자는 필터를 추가하고, 계산되는 필드를 추가하며, 요약 및 소계 정보를 추가할 수 있다. 열들은 재배치될 수 있고, 숨겨질 수도 있으며 다르게 변경되어질 수도 있다. 내용은 소트되어질 수 있고 상이한 레벨들로 보여질 수도 있다.
리포트 뷰어(132)는 데이터를 리포트 형태로 디스플레이한다. 리포트 뷰는 로버스트 및 밴드화된(banded) 리포트 형태를 제공하여 자동 리포트 생성 및 배포를 용이하게 한다. 사용자는 계산, 소계, 그룹화, 헤더, 바닥글(footer), 제목 및 그래픽을 추가하면서 리포트의 대화형 그래픽 설계에 의해 자유롭게 필드 및 열을 정렬할 수 있다.
그래프 뷰어(134)는 다양한 2-D 및 3-D 포맷으로 데이터의 그래프 뷰를 디스플레이한다. 이들 포맷은 예를 들면, 막대, 파이, 라인, 스캐터(scatter) 및 레이더(radar) 그래프를 포함한다. 그래프에 의해 작업하면서, 데이터의 필터링, 본래 데이터의 부분집합의 사용에 의해 내용 또는 그래프 타입을 변경할 수 있으며 다차원 데이터를 그릴 수 있다.
그래프 뷰는 그래프 속성의 변경 및 상이한 순서에 의한 레코드의 소팅에 의해 작업중에 변경되어질 수 있다.
피봇 뷰어(136)는 복수개의 차원에 따른 다차원 데이터를 디스플레이하는 피봇 뷰를 제공한다. 이는 사용자로 하여금 기업의 수행 성과나 활동에 대해 상이한 분석을 얻기 위해 상이한 차원을 따라 정보를 가공할 수 있게 한다. 피봇 뷰는 사용자로 하여금 드릴 다운(drill-down), 드릴 업(drill-up), 드릴 쓰루(drill-through) 분석을 수행할 수 있게 하는 다차원에서의 계층구조(hierarchies)를 지원한다. 하기에서 보다 상세히 설명되는 바와 같이, 다차원 뷰는 다차원 저장모델(100)로부터 생성된다.
브라우저 뷰어(138)는 내장된 크로스-플랫폼(cross-platform) 웹 브라우저를 제공한다. 이는 사용자로 하여금 작업물과 웹 기반의 인터넷 또는 인트라넷 환경에 액세스할 수 있게 한다. 리포트 또는 다른 뷰에서 생성된 대상들은 웹사이트로 전송되거나 브라우저 인터페이스를 통해 디스플레이되기 위해 HTML로 엑스포트(export)될 수 있다.
속성 검사기(126)는 사용자가 특정 뷰의 디스플레이 속성을 변경할 수 있게 한다. 본 발명의 일실시예에 있어서, 속성 검사기(126)는 비모드형(modeless)이다. 본 실시예에 있어서, 속성 검사기(126)는 속성 검사기(126)를 종료하기 전에 사용자가 상이한 구성 및 속성으로 시험할 수 있도록 스크린상에서 변경을 적용시킨다.
그리고, 비즈니스 인텔리전스 포탈(10)의 클라이언트(110) 및 서버(30)는 기업 정보 구조에 전략 계층(strategic layer)을 추가하고 광범위한 사용자에게 본질적으로 확장가능한 통합된 쿼리, 리포팅 및 분석을 위한 단일의 입구점(point of entry)을 제공한다. 비즈니스 인텔리전스 포탈(10)은 기업에서 완전히 통합될 수있기 때문에 포탈(10)은 일상적인 기업 내부의 분석 전달 및 정보의 공유를 용이하게 한다. 결과적으로, 보다 많은 기업 내부의 사람들이 기업에 이미 존재하는 데이터의 규칙적이고 생산적인 사용을 할 수 있게 된다.
도 2는 본 발명의 일실시예에 따른 비즈니스 인텔리전스 포탈(10)을 개시하는 방법을 나타내는 흐름도이다. 도 2를 참조하면, 상기 방법은 시스템 관리자가 유저 프로파일(52)을 정의하는 단계(200)부터 시작한다. 이미 기술한 바와 같이, 유저 프로파일(52)은 사용자가 시스템내의 특징을 활용할 수 있도록 하는 권한을 제공한다. 이어서, 단계 202에서, 시스템 관리자는 보안 그룹(54)을 정의한다. 이미 기술한 바와 같이, 사용자가 부여받는 최종적인 보안 권리 및 권한은 유저 프로파일(52)에서 정의된 개별 권한과 사용자가 속한 각 보안 그룹(54)의 권한의 결합이다.
단계 204로 진행하면, 시스템 관리자는 각 데이터베이스(20)를 위한 데이터베이스 앨리어스(50)를 생성한다. 데이터베이스 앨리어스(50)는 데이터베이스에 사용자가 직접적인 접속을 하는 것을 방지하여 데이터베이스(20)의 무결성을 유지하고 비전문적인 사용자가 데이터 훼손에 대한 두려움이 없이 안전하게 회사 데이터에 접근할 수 있도록 한다. 데이터베이스 앨리어스는 또한 물리적인 데이터베이스(20)로의 풀형태의 접속(pool connections)을 제공함으로써 많은 수의 클라이언트들을 지원하기 위해 필요한 데이터베이스 연결수를 줄일 수 있다.
이어서, 단계 206에서, 시스템 관리자는 쿼리 생성기(38)를 사용하여 기정의된 쿼리 모델(56)을 생성한다. 기정의된 쿼리 모델(56)은 임의의 집합의 사용자가접근할 임의의 데이터베이스(20)에서의 요소들(elements)을 제어한다. 추가로, 기정의된 쿼리 모델(56)은 실행될 수 있는 쿼리의 형태를 제한하고 쿼리를 실행하기 위해 사용될 수 있는 최대의 컴퓨터 자원과 비즈니스 인텔리전스 포탈(10)의 무결성에 영향을 줄 수 있는 악의적인 쿼리를 방지하기 위한 테이블간의 허용가능한 결합(joins)을 정의한다.
단계 206은 시스템 관리자가 기업 내부에서 사용될 비즈니스 인텔리전스 포탈(10)을 셋업하는 과정의 마지막을 나타낸다. 셋업 과정의 일부로서, 사용자를 위한 권한 및 쿼리는 시스템 내에서의 데이터의 배포 및 접근을 제어하기 위해 정의된다.
도 3은 본 발명의 일실시예에 따른 기정의된 쿼리 모델(56) 생성을 위한 방법을 나타내는 흐름도이다. 본 실시예에 있어서, 모델 내부의 특정 데이터는 가능한 정도까지 자동적으로 링크된다. 추가로, 쿼리 모델(56)의 생성을 용이하게 하기 위해 데이터베이스 요소들은 시스템 관리자에게 그래픽으로 디스플레이된다.
도 3을 참조하면, 상기 방법은 쿼리 생성기(38)가 테이블과 데이터베이스(20)의 열을 시스템 관리자에게 자동적으로 식별시키고 디스플레이하는 단계(220)에서 시작한다. 쿼리는 상기 테이블 및 칼럼을 위해 생성된다. 이어서, 단계 222에서, 시스템 관리자는 기정의된 쿼리 모델(56)을 위해 테이블 및 열의 부분집합을 선택한다.
결정 단계 224로 진행하면, 쿼리 생성기(38)는 데이터베이스(20)가 완전한 외부키(Foreign Key; FK)/주키(Primary Key; PK)의 키 정보를 구비하고 있는지를판단한다. 완전한 외부키/주키의 키 정보는 상이한 테이블에서의 데이터가 자동으로 링크되는 것을 허용한다. 따라서, 만일 데이터베이스(20)가 완전한 외부키/주키의 키 정보를 포함하고 있다면, 결정 단계(224)의 "예" 브랜치는 외부키/주키 정보를 이용하여 기정의된 쿼리 모델(56)에서 패어런트(parent) 테이블을 차일드(child) 테이블과 링크시키는 단계 226으로 진행시킨다. 단계 226은 과정의 마지막 단계이다. 이 시점에서, 기정의된 쿼리 모델(56)은 저장되거나 또는 시스템 관리자에 의해 추가적인 편집이 이루어질 수 있다.
결정 단계 224로 되돌아가서, 만일 완전한 외부키/주키의 키 정보가 이용가능하지 않다면, 결정 단계 224의 "아니오" 브랜치는 결정 단계 228로 진행한다. 결정 단계 228에서, 쿼리 생성기(38)는 데이터베이스로부터 완전한 주키 정보가 이용가능한지를 판단한다. 완전한 주키 정보의 제공은 패어런트 및 차일드 테이블이 데이터베이스 테이블 검색에 의해 판별되도록 한다. 따라서, 완전한 주키 정보가 이용가능하다면, 결정 단계 228의 "예" 브랜치는 패어런트 테이블 및 차일드 테이블을 판별하기 위해 데이터베이스 검색이 수행되는 단계 226으로 진행한다. 패어런트 및 차일드 테이블이 판별되고난 후에는, 그들은 기정의된 쿼리 모델(56)을 생성하기 위해 자동적으로 링크된다. 이어서 기정의된 쿼리 모델(56)은 저장되거나 시스템 관리자에 의해 추가적인 편집이 이루어질 수 있다.
결정 단계 228로 되돌아가서, 완전한 주키 정보가 이용가능하지 않다면, "아니오" 브랜치는 결정 단계 230으로 진행한다. 결정 단계 230에서, 쿼리 생성기는 패어런트 및 차일드 테이블을 식별할 수 있는 유일한 인덱스 정보가데이터베이스(20)로부터 이용가능한지를 판단한다. 만일 그러한 유일한 인덱스 정보가 이용가능하다면, 결정 단계 230의 "예" 브랜치는 단계 226으로 진행한다. 단계 226에서, 유일한 인덱스 정보는 패어런트 및 차일드 테이블을 위한 데이터베이스 검색에 사용되어진다. 이어서 쿼리 생성기(38)는 기정의된 쿼리 모델(56)을 생성하기 위해 자동적으로 차일드 및 패어런트 테이블을 링크시킨다. 이어서 기정의된 쿼리 모델(56)은 저장되거나 시스템 관리자에 의해 추가적인 편집이 이루어질 수 있다.
결정 단계 230으로 되돌아가서, 데이터베이스(20)로부터 유일한 인덱스 정보가 이용가능하지 않다면, 결정 단계 230의 "아니오" 브랜치는 단계 232로 진행한다. 단계 232에서, 시스템 관리자는 수동으로 식별하여 기정의된 쿼리 모델(56)을 생성하기 위해 차일드 및 패어런트 테이블을 링크시킨다. 이러한 방법으로, 기정의된 쿼리 모델(56)은 가능한 한 최소한의 시스템 관리자의 수고에 의해 자동으로 생성되어진다. 데이터베이스 테이블 및 다른 요소들은 다른 방법으로 적절히 링크되어질 수도 있다는 것은 자명할 것이다.
도 4는 본 발명의 일실시예에 따른 클라이언트 애플리케이션을 배치하고 관리하기 위한 방법을 나타내는 흐름도이다. 본 실시예에 있어서, 클라이언트 애플리케이션들은 클라이언트 애플리케이션을 형성하는 자바 클래스들을 클라이언트(110)로 다운로드하기 위해 초기에 사용되는 씬 부트 스트랩 애플릿(thin boot strap applet)을 사용하여 서버(30)로부터 관리되고 중앙집중식으로 배치된다. 이후, 클라이언트 소프트웨어에 대한 모든 업그레이드는 클라이언트(110)에 의한 새로운 세션(session)의 개시를 통해 서버(30)에 의해 자동으로 행해진다. 인스톨/업데이트 과정의 일부는 클라이언트(110)상에서의 모든 모듈 및 자원들의 이름 및 버전을 기록한 명단 파일을 다운로드하는 것을 포함한다.
도 4를 참조하면, 상기 방법은 클라이언트(110)에 의해 서버(30)로의 연결이 이루어지는 단계 250에서 시작한다. 단계 252에서, 클라이언트(110)상의 부트 스트랩 에이전트(agent)는 사용자의 명단 파일을 서버(30)로 전송한다.
단계 254로 진행하면, 서버(30)는 명단 파일에 기록된 모든 모듈 및 자원의 버전을 서버(30) 내의 대응되는 파일의 현재 버전과 비교한다. 결정 단계 256에서, 서버(30)는 비교에 근거하여 모듈 및 자원의 전부 또는 일부가 최신의 것이 아닌지를 판단한다. 모듈 및 자원의 전부 또는 일부가 최신의 것이 아닌 경우에는 결정 단계 256의 "예" 브랜치는 단계 258로 진행한다. 단계 258에서, 서버(30)는 클라이언트(110)를 위한 증분(incremental) 업데이트 정보를 생성한다. 증분 업데이트 정보는 업데이트에 필요한 모듈만을 포함한다.
다음으로, 단계 260에서, 서버는 증분 업데이트 정보를 클라이언트로 전송한다. 단계 262에서, 클라이언트(110)는 증분 업데이트 정보에 기초하여 클라이언트 측의 애플리케이션을 업데이트한다. 단계 264에서, 새로운 세션이 최신화된 클라이언트(110)를 위해 개시된다. 결정 단계 256으로 되돌아가서, 최신화되지 않은 클라이언트 애플리케이션이 없는 경우, 결정 단계 256의 "아니오" 브랜치는 새로운 세션이 개시되는 단계 264로 진행한다. 이러한 방법으로, 서버(30)는, 만일 존재한다면, 어떠한 모듈(또는 자바 클래스)이 최신화되지 않았는지,유실되었는지(missing) 또는 쓸모없게 되었는지를 판단하고 명단 파일에 의해 사용자의 머신(machine)으로 알맞는 모듈을 선택적으로 푸시한다. 결과적으로, 사용자는 전혀 수동으로 클라이언트 소프트웨어를 업데이트할 필요가 없으며 각 워크 스테이션상에서 애플리케이션 및 데이터 파일을 재설치할 필요 없이 상이한 워크 스테이션 사이를 용이하게 오갈 수 있다. 추가로, 관리는 중앙집중식으로 이루어지고 네트워크 트래픽은 최소화하면서 클라이언트(110)는 빠르게 실행하며 항상 최신화되어 있다.
도 5는 본 발명의 일실시예에 따라 기정의된 쿼리 모델(56)에 근거하여 쿼리 모델을 각색하고 실행하기 위한 방법을 설명하기 위한 흐름도이다. 본 실시예에 있어서, 기정의된 쿼리 모델(56)은 관리자에 의해 서버에서 생성 및 관리되며 액세스 요구 및 권한 인증에 의해 사용자에게 제공된다.
도 5를 참조하면, 상기 방법은 사용자로부터 기정의된 쿼리 모델(56)에 대한 요구를 서버(30)가 수신하는 단계(280)로부터 시작한다. 이어서, 단계 282에서, 서버는 사용자의 권한에 기초하여 접근가능한 기정의된 쿼리 모델(56)의 부분을 판별한다. 접근가능한 기정의된 쿼리 모델(56) 부분은 사용자에 의해 보여질 수 있다. 본 발명의 특별한 일실시예에 있어서, 접근가능한 기정의된 쿼리 모델(56) 부분은 또한 사용자에 의해 편집가능한 쿼리 모델 부분일 수 있다. 기정의된 쿼리 모델(56)의 접근가능한 부분의 판별은 쿼리 모델에 대한 사용자의 권한을 판별하고 사용자의 권한에 기초하여 접근가능한 부분을 판별하는 것에 의해 달성될 수 있다.
기정의된 쿼리 모델(56)의 접근가능한 부분을 판별함에 있어서, 서버(30)는또한 기정의된 쿼리 모델(56)의 보호 부분(protected portion)을 판별할 수 있다. 보호 부분은 기정의된 쿼리 모델(56)의 잔류(remaining) 또는 다른 적절한 부분이다. 하기에서 보다 상세히 설명되는 바와 같이, 쿼리 구성기(122)는 기정의된 쿼리 모델의 보호 부분을 숨기거나 기정의된 쿼리 모델의 보호 부분에 대한 편집을 금지시킬 수 있다.
다음으로, 단계 284에서, 서버(30)는 기정의된 쿼리 모델(56)을 클라이언트(110)로 다운로드한다. 단계 286에서, 쿼리 구성기(122)는 기정의된 쿼리 모델(56)의 접근가능한 부분을 사용자에게 디스플레이한다. 본 발명의 일실시예에 있어서, 쿼리 구성기(122)는 기정의된 쿼리 모델(56)을 정의하는 접근가능한 데이터의 그래픽 뷰를 디스플레이한다. 접근가능한 부분을 디스플레이함에 있어서, 쿼리 구성기(122)는 기정의된 쿼리 모델(56)의 보호 부분을 숨겨 그 부분을 편집하거나 보는 것을 방지할 수 있다.
단계 288로 진행하면, 쿼리 구성기(122)는 기정의된 쿼리 모델(56)에 대한 사용자의 편집사항을 수신한다. 사용자 편집사항은 데이터베이스 테이블, 데이터베이스 테이블에서의 열 및 데이터베이스 테이블간의 결합을 선택 또는 해제하는 것을 포함한다. 이어서, 단계 290에서, 쿼리 구성기(122)는 기정의된 쿼리 모델(56)의 접근가능한 부분에 대한 사용자의 편집사항에 기초하여 사용자 각색(user-adapted) 쿼리 모델(128)을 생성한다. 단계 292에서, 사용자 각색 쿼리 모델(128)은 실행을 위해 서버로 업로드된다.
단계 294에서, SQL 생성기(74)는 사용자 각색 쿼리 모델(128)에 기초하여 데이터베이스 쿼리를 자동으로 생성한다. 데이터베이스 쿼리는 쿼리를 수행하기 위해 연결 관리자(76)에 의해 실행될 수 있는 텍스트 형태의 SQL로 이루어진다. 단계 296에서, 서버(30)는 쿼리의 결과를 수신한다. 이미 기술한 바와 같이, 쿼리 결과는 캐시 매니저(42)에 의해 초기에 서버(30)에 저장된다.
결정 단계 298로 진행하면, 쿼리가 다차원 분석을 포함하고 있다면, 결정 단계 298의 "예" 브랜치는 상기 결과에 기초하여 다차원 저장모델(100)을 생성하는 단계 300으로 진행한다. 단계 302에서, 다차원 저장모델(100)은 사용자에 의해 요구되는 피봇, 드릴 쓰루(drill-through) 및 다른 뷰들을 생성하기 위해 사용된다.
결정 단계 298로 되돌아가서, 만일 다차원 분석이 포함되지 않았다면, 결정 단계 298의 "아니오" 브랜치는 쿼리 결과에 기초하여 단일 차원의 요구된 뷰를 생성하는 단계 304로 진행한다. 단계 302 및 단계 304 각각은 결정 단계 306으로 진행한다. 결정 단계 306에 있어서, 서버(30)는 사용자 각색 쿼리 모델(128)을 이후의 재사용을 위해 저장할 것인지를 판단한다. 만일 사용자가 쿼리 모델(128)을 저당하기를 원하면, 결정 단계 306의 "예" 브랜치는 사용자가 액세스하는 보안 그룹(54) 또는 선택된 사용자의 포트폴리오(58)에 쿼리 모델을 저장하는 단계 308로 진행한다. 단계 308 및 결정 단계 306의 "아니오" 브랜치는 각각 결정 단계 310으로 진행한다.
결정 단계 310에서, 서버(30)는 쿼리 결과가 이력적 스냅샷(historical snapshot)으로서 저장되어야 하는지를 판단한다. 사용자가 상기 결과를 스냅샷으로 저장하기를 선택하였다면, 결정 단계 310의 "예" 브랜치는 쿼리 결과를 선택된포트폴리오(58)에 저장하는 단계 312로 진행한다. 단계 312는 기정의된 쿼리 모델(56)이 각색 및 맞춤화되기 위해 사용자에게 제공되는 마지막 단계이다. 기정의된 쿼리 모델(56)은 데이터 요소들의 그래픽 뷰를 사용하여 디스플레이되고 변경된다. 이는 모든 사용자에 의한 로버스트(robust)한 데이터 분석을 용이하게 하고 초보 사용자로 하여금 그들 조직내에서의 작업을 향상하기 위해 이용가능한 정보를 효과적으로 사용할 수 있게 한다.
도 6은 본 발명의 일실시예에 따른 쿼리 엔진(80)의 상세 구성을 설명하기 위한 블록도이다. 본 실시예에 있어서, 쿼리 엔진(80)은 데이터 드라이버(84)의 라이브러리와 쿼리 요구에 응답하여 요구를 수행하기 위해 라이브러리 필수 데이터 드라이버(84)로부터 식별하기 위해 사용할 수 있는 지능형 데이터셋(82)을 포함한다. 지능형 데이터셋(82)은 추가로 상기 요구를 수행하기 위해 필요한 데이터 드라이버(84)의 순서를 판단하기 위해 사용가능하며, 필요한 순서대로 된 필수 데이터 드라이버(84)로 구성되는 드라이버 체인을 생성하고 드라이버 체인에서의 데이터 드라이버(84) 순서대로 실행하기 위해 사용된다.
도 6을 참조하면, 지능형 데이터셋(82)은 쿼리 요구에 응답하여 드라이버 체인(320)을 생성한다. 드라이버 체인(320)은 요구된 쿼리를 수행하기 위해 필요한 데이터 드라이버(322)를 포함한다. 데이터 드라이버(322)는 이용가능한 데이터 드라이버(84)의 라이브러리로부터 동적으로 선택되며 쿼리 요구에 기초하여 지능형 데이터셋(82)에 의해 정렬된다. 본 발명의 일실시예에 있어서, 라이브러리에서의 데이터 드라이버(84)는 베이스 클래스(base class)로부터 이끌어내어진다. 모든인터페이스 체계는 베이스 클래스를 위해 체인에서 다음 드라이버를 호출한다. 본 실시예에서, 각각의 데이터 드라이버는 체인(320)내의 동일한 상대적 위치에서의 배치를 위한 체인 프라이어리티(priority)를 갖는다.
드라이버 체인(320)은 데이터 드라이버 D1, D2, D3 및 D4를 포함한다. 데이터 드라이버 D1은 요구된 레코드(record)를 리턴하는 데이터베이스 페치(fetch) 동작을 수행한다. 이어서 리턴된 레코드는 데이터 드라이버 D2에 의해 소트 및 인덱스되어진다. 이러한 방법으로, 모듈식 쿼리 엔진(80)은 데이터베이스 쿼리를 수행하기 위한 표준화된 방법을 채용한다. 결과적으로, 포탈(10)은 특정 데이터베이스 쿼리를 위해 정형화될 필요가 없고 비즈니스 인텔리전스 포탈(10)을 제공하고 유지하기 위한 비용을 감소시킬 수 있다.
도 7은 본 발명의 일실시예에 따른 모듈식 쿼리 엔진(80)의 동작을 설명하기 위한 흐름도이다. 도 7을 참조하면, 상기 방법은 지능형 데이터셋(82)에 의해 쿼리 요구가 접수되는 단계 340에서 시작한다. 이어서, 단계 342에서, 지능형 데이터셋(82)은 쿼리 요구를 수행하기 위해 필요한 라이브러리로부터 데이터 드라이버(84)를 동적으로 선택한다.
단계 344로 진행하면, 지능형 데이터셋(82)은 상기 요구를 수행하기 위해 필요한 데이터 드라이버(84)의 순서를 판단한다. 단계 346에서, 지능형 데이터셋(82)은 쿼리 요구를 수행하기 위해 필요한 순서대로 된 필수 데이터 드라이버(84)로 구성되는 드라이버 체인을 동적으로 구축한다.
이어서, 단계 348에서, 지능형 데이터셋은 상기 쿼리 요구를 수행하기 위해드라이버 체인을 실행한다. 드라이버 체인 내에서, 데이터셋(82)은 자신의 실행이 완료되면 체인내의 다음 드라이버(84)를 각각 호출하는 순서에 의해 실행된다. 결과적으로, 쿼리 엔진(80) 및 데이터셋(82)은 애플리케이션에 독립적이며, 라이브러리에 데이터 드라이버(84)를 추가하고 지능형 데이터셋(82)을 각각의 기능에 맞게 프로그래밍 함으로써 새로운 기능을 지원하도록 쉽게 변형될 수 있다.
도 8은 본 발명의 일실시예에 따른 다차원 저장모델(100)의 상세 구성을 설명하기 위한 블록도이다. 본 실시예에 있어서, 저장모델(100)은 모델(100)의 크기를 최소화하기 위해 논-스파스(non-sparse) 구조를 활용한다. 추가로, 저장모델(100)은 모델이 구축된 후에 계산이 동적으로 수행될 수 있도록 개방형 구조를 사용한다.
도 8을 참조하면, 다차원 저장모델(100)은 각 차원을 위한 슬롯(360)과 계산 차원을 위한 슬롯(362)으로 구성된다. 차원 슬롯(360)은 데이터베이스로부터 추출된 관련 데이터 값과 엔트리들(entries)을 포함하고 계산 차원 슬롯(362)은 추출된 데이터에 기초하여 계산되어진 데이터를 포함한다.
각 차원 슬롯(360)은 엔트리 저장부(370) 및 차원 저장부(372)를 포함한다. 엔트리 저장부(370)는 대응되는 차원을 위한 논-스파스 엔트리(374)의 집합을 포함한다. 바람직하게는, 논-스파스 엔트리만이 포함된다. 엔트리(374)는 결합적인(combinatric) 차원값을 나타내고 각각은 관련 데이터값(376)을 식별한다. 본 발명의 일실시예에 있어서, 각 엔트리(374)는 관련된 데이터값(376)에 대한 포인터(pointer)를 포함한다. 선택적으로, 데이터값(376)은 엔트리 저장부(370)에엔트리(374)와 함께 저장될 수 있다. 그러나, 포인터 및 데이터값(376)을 위한 분리된 저장부의 사용은 다차원 저장모델(100)의 효율 및 처리 속도를 향상시킨다.
차원 저장부(372)는 엔트리 저장부(370)내의 엔트리(374)와 연관된 데이터값(376)을 포함한다. 데이터값(376)은 각 차원을 위한 유일한 차원값을 나타낸다.
중간차원 링크(380) 셋은 각 논-스파스 엔트리(374)를 위해 제공된다. 각 중간차원 링크는 상이한 차원 슬롯(360)에서의 논-스파스 엔트리(374) 사이에서 교차점을 식별한다. 중간차원 링크(380) 셋은 하나 또는 그 이상의 중간차원 링크를 포함한다. 본 발명의 일실시예에 있어서, 중간차원 링크(380)는 차원 슬롯(360) 사이에서 엔트리점으로부터 어느 방향으로도 효과적인 횡단(traverse)이 가능하도록 양방향성(bi-directional)이다.
중간차원 링크(380)는 차원 슬롯(360)내의 논-스파스 엔트리(374) 사이의 모든 교차점을 집합적으로 식별한다. 따라서, 저장되지 않은 빈 교차점을 포함한 모든 교차점은 논-스파스 엔트리(374) 및 중간차원 링크(380)가 횡단으로부터 판별될 수 있다. 특히, 첫 번째 및 두 번째 차원에서의 데이터베이스 엔트리의 공교차점(null intersection)은 모델내의 데이터베이스 엔트리의 결핍 또는 첫 번째 차원에서의 엔트리(374)를 두 번째 차원에서의 엔트리로 연결하는 중간차원 링크(380)의 결핍에 의해 판단한다. 첫 번째 및 두 번째 차원에서 엔트리(374) 사이의 논-스파스 교차점은 중간차원 링크(380)를 첫 번째 차원에서의 특정 엔트리로부터 두 번째 차원의 특정 엔트리까지 횡단하고 두 번째 차원에서 엔트리(374)와 연관된 데이터값(376)을 획득함으로써 판별된다. 중간차원 저장모델(100)의 횡단에 의해 얻어지는 데이터 및 정보는 하기에서 보다 상세히 설명될 추가적인 처리를 위한 출력값이다.
계산 차원(362)은 계산값(382) 셋을 포함한다. 계산값(382)은 유저 및 다차원 저장모델(100)에 의해 요구된 기정의된 계산으로부터 기인하는 값이다. 그러므로, 다차원 저장모델(100)이 그 생성후에 계산을 허용하기 위해 개방형 구조를 제공하면서, 모델에 따라서 사용자에 의해 동시에 요구된 계산은 상기 모델(100)의 생성후의 처리를 최소화하고 다차원 분석 속도를 향상시키기 위해 미리 계산되어지고 저장된다.
도 9는 예시적인 데이터(400)와 상기 예시적인 데이터(400)를 위한 예시적인 다차원 저장모델(402)을 설명하기 위한 블록도이다. 도 9를 참조하면, 예시적 데이터(400)는 차원 C1 및 C2와 계산 차원 C3을 포함한다. 차원 C1은 유일 엔트리값 A, B 및 C를 포함하고 차원 C2는 유일 엔트리값 D, E, F, G 및 H를 포함한다. 계산 차원 C3은 상이하게 미리 정의한 계산에 대응되는 계산된 데이터값 1, 2, 3, 4, 5 및 6을 포함한다.
예시적 저장모델(402)은 차원 C1 및 C2를 위한 차원 슬롯(404)과 계산 차원 C3을 위한 계산 차원 슬롯(406)을 포함한다. C1 차원의 슬롯(404)에서, 차원 저장부(410)는 유일 차원값 A, B 및 C를 포함한다. 엔트리 저장부(412)는 데이터값이 연관되어지는 엔트리와 데이터값에 대한 포인터를 포함한다. 비슷하게, C2 차원의 슬롯(404)은 차원 저장부(414)에 유일 데이터값 D, E, F, G 및 H를 포함한다. 엔트리 저장부(416)는 데이터값과 연관되어지는 엔트리와 데이터값에 대한 포인터를 포함한다. 중간차원 링크(420)는 C1 및 C2 차원에서 엔트리간의 교차점 ,그러므로 데이터를 식별한다.
계산 차원(406)은 C1 및 C2 차원에서의 데이터의 기정의된 교차점과 연관되는 계산된 데이터값 1, 2, 3, 4, 5 및 6을 포함한다.
예시적 저장모델(402)로부터, 예를 들면, C1 및 C2 차원에서의 엔트리값 A 및 B는 이들이 중간차원 링크(420)에 의해 연결되어 있다는 점에서 교차하는 것으로 판단될 수 있다. 추가로 엔트리값 C 및 D는 이들이 중간차원 링크(420)에 의해 연결되지 않는다는 점에서 교차하지 않는 것으로 판단될 수 있다. 만일 임의의 하나 또는 일련의 중간차원 링크가 엔트리를 연결하고 있다면 엔트리들은 중간차원 링크에 의해 연결된다.
도 10은 본 발명의 일실시예에 따른 다차원 저장모델(100)의 생성 및 사용을 위한 방법을 설명하는 흐름도이다. 도 10을 참조하면, 상기 방법은 다차원 저장모델(100)이 쿼리 요구에 응답하여 다차원 모델 매니저(44)에 의해 생성되고 쿼리 요구의 결과에 기초하는 단계 440에서 시작한다. 쿼리 요구는 다차원 저장모델(100)에 대한 차원 및 데이터 차원을 특정한다.
본 발명의 일실시예에 있어서, 다차원 모델 매니저(44)는 먼저 소스(source)로부터 데이터 레코드를 가져오는 것에 의해 다차원 저장모델(100)을 생성한다. 각 데이터 레코드를 위해, 차원값 및 데이터값을 이어서 가져온다. 그 후에, 데이터 레코드의 각 차원값을 위해 다차원 모델 매니저(44)는 존재한다면 사용할 수 있는 차원값이 엔트리 저장부(370)에 존재하는지를 판별한다.
엔트리 저장부(370)에 차원값이 존재하지 않는다면, 엔트리 저장부(370)에서 차원값을 위한 엔트리(374)가 생성된다. 양쪽 모두의 경우에, 엔트리 저장부(370)에서의 엔트리(374)를 위한 중간차원 링크(380)를 생성하기 위해 차원들이 왼쪽부터 오른쪽까지 횡단된다. 존재하는 링크들은 유실된 링크들이 생성되는 동안 재사용된다. 추가로, 가장 오른쪽 차원을 위해, 레코드를 위해 가져온 데이터값이 다차원 모델 매니저(44)에 의해 추가된다. 다차원 저장모델(100)은 다른 적당한 방법으로 생성될 수도 있다는 것은 자명할 것이다.
다차원 저장모델(100)이 생성된 후에, 단계 440은 단계 442로 진행한다. 단계 442에서, 다차원 모델 매니저(44)는 특정된 차원 또는 데이터 차원의 부분 집합에 대한 뷰 요구를 접수한다. 이어서, 단계 444에서, 다차원 모델 매니저(44)는 저장모델(100) 및 각 횡단을 위한 시작점으로부터 뷰를 생성하기 위해 필요한 횡단들(traversals)을 판단한다. 횡단들은 특정된 차원 및 모델(100)이 조직되는 방법에 근거하여 정해지는 엔트리상의 시작점에 의해 정의된다.
본 발명의 일실시예에 있어서, 다차원 모델 매니저(44)는 아래에서 위로(bottom-up), 왼쪽에서 오른쪽으로의 반복적인 이동을 이용하여 다차원 저장모델(100)로부터 첫 번째 및 다음의 레코드를 재생한다. 본 실시예에 있어서, 첫 번째 레코드를 재생하기 위해, 다차원 모델 매니저(44)는 디스플레이를 위해 선택된 첫 번째 차원을 첫 번째 엔트리 저장값에 위치시킨다. 이어서, 첫 번째 엔트리의 왼쪽에 해당하는 모든 패어런트 엔트리들이 그들의 첫 번째 엔트리 저장값에 위치된다. 또한 선택된 차원의 오른쪽에 해당하는 차일드 엔트리들도 그들의 첫 번째 엔트리 저장값에 위치된다. 첫 번째 레코드를 위해, 다차원 모델 매니저(44)는 이들 위치에서 차원 엔트리를 위한 값을 재생한다. 다음의 레코드를 재생하기 위해, 다차원 모델 매니저(44)는 뷰에서 가장 오른쪽 차일드를 이동하려고 시도한다. 만일 최 우측의 차일드가 이동가능하다면, 그 차일드는 재배치되고 데이터값이 다차원 저장모델(100) 내의 현재 위치에서 페치(fetch)된다. 만일 최우측 차일드가 이동가능하지 않다면, 다차원 모델 매니저(44)는 차일드의 바로 왼쪽의 엔트리인 상기 차일드의 패어런트를 이동하려고 시도한다. 만일 패어런트가 이동가능하다면, 그 패어런트는 재배치되고 데이터값이 다차원 저장모델(100) 내의 현재 위치에서 페치(fetch)된다. 만일 패어런트가 이동가능하지 않다면, 상기 첫 번째 패어런트의 바로 왼쪽의 엔트리인 상기 패어런트의 패어런트를 이동하려는 시도가 이루어지고, 패어런트가 남지 않게 될 때까지 상기 과정이 반복된다. 이 시점에서, 과정의 종료가 이루어진다. 횡단 및 다차원 저장모델(100) 내의 시작점은 다른 방법으로 적절히 정해질 수 있다는 것은 자명할 것이다.
단계 446으로 진행하면, 다차원 모델 매니저(44)는 특정된 교차점에서 존재 및 값을 판별하기 위해 다차원 링크(380)를 연결하면서 다차원 저장모델(100)을 엔트리 점으로부터 횡단한다. 단계 448에서, 다차원 저장모델(100)은 특정 교차점에서 임의의 값을 판별한다. 이어서, 단계 500에서, 다차원 모델 매니저(44)는 모델(100)을 위한 추가적인 횡단이 존재하는지를 판별한다. 추가적인 횡단이 존재한다면, 결정 단계 450의 "예" 브랜치는 단계 446으로 리턴하고 남아있는 횡단들이수행되며 모든 횡단이 완료될 때까지 교차점의 값들이 계산된다. 결정 단계 450의 "아니오" 브랜치는 단계 452로 진행한다.
단계 452에서, 다차원 저장모델(100)로부터의 데이터 및 정보의 출력은 요약되고 분류되어진다. 다차원 저장모델(100)은 데이터를 미리 분류하여 요약할 수 있도록 다르게 구성될 수도 있다는 것은 자명할 것이다. 그러나, 횡단 과정을 요약 및 분류 과정으로부터 분리함으로써 처리 효율은 향상된다.
이어서, 단계 454에서, 다차원 저장모델(100)로부터의 정보 출력은 클라이언트(110)상의 뷰어에 의해 요구된 뷰에서 사용자에게 그래픽으로 디스플레이된다. 단계 456으로 진행하면, 추가적인 뷰가 요구되는 경우, "예" 브랜치는 뷰 요구가 접수되고 모든 요구된 뷰가 완성되어 사용자에게 디스플레이될 때까지 특정된 차원이 반복되는 단계 442로 리턴한다. 이 시점에서, 결정 단계 456의 "아니오" 브랜치는 과정의 종료로 이어진다. 이러한 방법으로, 비즈니스 인텔리전스 포탈(10)은 감소된 크기의 다차원 저장모델(100)을 제공하고 데이터 분석에 있어 효과적인 피봇 및 드릴 동작을 지원하는 처리 속도를 향상시킨다. 추가로, 사용자는 모델의 본래 정의에서 기대되지 않았던 데이터 교차점을 분석하기 위해 새로운 계산을 생성할 수 있다. 이는 피봇 및 드릴 동작을 지원하기 위해 필요한 시간 및 자원을 감소시킨다. 추가적인 뷰는 고레벨 및 저레벨 분석을 위해 피봇 뷰 및 데이터 드릴링(drilling)을 포함할 수 있다.
도 11은 본 발명의 일실시예에 따른 관련 윈도우(480)의 디스플레이를 설명하기 위한 화면 구성도이다. 도 11을 참조하면, 디스플레이 윈도우(480)는 상부가장자리를 따라 배열된 다양한 풀다운 메뉴(488)를 구비한 메뉴바(486)를 포함한다. 툴바(490)는 메뉴바(486)의 바로 아래에 위치된다. 디스플레이 윈도우(480)는 카타로그 윈도우(492) 및 카타로그 윈도우(492)에 인접한 포트폴리오 윈도우(494)를 추가로 포함한다. 카타로그 윈도우(492)는 카타로그(32) 내부의 파일 이력을 디스플레이한다. 포트폴리오 윈도우(494)는 포트폴리오에 의해 링크된 뷰들을 디스플레이한다.
포트폴리오 윈도우(494) 내에서, 각각의 뷰는 별개의 뷰 윈도우(496)에서 분리되어 디스플레이된다. 포트폴리오에 의해 링크된 이산 파일(discrete files)내의 뷰들의 저장 및 포트폴리오 윈도우(494) 내의 관련 뷰들의 디스플레이는 관련된 도큐먼트들이 쉽게 조직화되고 사용자에게 효과적으로 디스플레이되게 한다. 특히, 포트폴리오 윈도우(494)는 단일 데이터 인터페이스(Single Data Interface : SDI)에 의해 공통 윈도우(common window)를 제공한다. 이산 뷰 윈도우(496)는 다중 데이터 인터페이스(Multiple Data Interface : MDI)에서 공통 윈도우 내에 디스플레이된다. 다른 형태의 관련 성분들이 혼합 파일(compound file)을 통해 디스플레이되기 위해 이산적으로 저장되고 함께 링크될 수 있다는 것은 자명할 것이다.
도 12는 본 발명의 일실시예에 따라 포트폴리오에서 관련된 뷰들 사이에서 네비게이트하기 위한 뷰 버튼을 포함하는 디스플레이 윈도우(500)를 설명하기 위한 화면 구성도이다. 도 12를 참조하면, 디스플레이 윈도우(500)는 상부 가장자리를 따라 배열된 다양한 풀다운 메뉴(504)를 구비한 메뉴바(502)를 포함한다. 툴바(506)는 메뉴바(502)의 바로 아래에 위치된다. 디스플레이 윈도우(500)는 이미 설명한 바와 같은 카타로그 윈도우(492) 및 포트폴리오 윈도우(494)의 연결을 갖는 카타로그 윈도우(508) 및 포트폴리오 윈도우(510)를 포함한다.
뷰 윈도우(512)는 최적의 화면을 제공하기 위해 포트폴리오 윈도우(510)와 함께 최대화된다. 최대화된 윈도우들간의 네비게이션을 위해, 뷰 버튼(514)은 윈도우(512)의 최대화에 응답하여 제공되고 포트폴리오 윈도우(510)의 상부 가장자리를 따라 탭(tabs) 형태로 제공된다. 뷰 버튼(514)은 각각 관련된 윈도우(512)를 활성화(activation)에 반응하는 활성창으로서 디스플레이하기 위해 사용될 수 있다. 이는 사용자가 빠르고 쉽게 윈도우들간을 네비게이션할 수 있게 한다. 결과적으로, 사용자는 별도의 파일들에 저장된 연관된 데이터를 보기 위해 윈도우를 일정하게 이동, 닫기, 열기 및 크기의 조정을 수행할 필요가 없다. 뷰 버튼은 다른 적절한 이벤트에 응답하여 다른 방법으로 디스플레이 또는 생성될 수 있다. 예를 들면, 뷰 버튼은 첫 번째 윈도우가 위에 놓여지는 윈도우에 의해 실질적으로 감추어지는 시점에서 생성될 수 있다. 그러므로, 사용자가 윈도우를 최대화, 위치 배열 또는 어떤 윈도우를 덮기를 지시하자마자 상기 윈도우가 덮어지도록 하기 위해 뷰 버튼(514)이 생성될 수 있다. 뷰 버튼(514)은 대응하는 윈도우에 독립적으로 위치될 수 있다. 따라서, 뷰 버튼(514)은 대응하는 윈도우로부터 이격되어 또는 근접하여 디스플레이될 수 있다.
비록 본 발명에서 여러 실시예 및 그들의 장점을 기술하였지만, 다양한 변형, 변경, 수정이 가능하다는 것은 당업자에게 자명할 것이며 후술되는 본 발명의 청구의 범위는 그러한 변형, 변경 및 수정을 포함한다.

Claims (23)

  1. 데이터베이스 쿼리를 생성하기 위한 방법에 있어서,
    데이터베이스를 쿼리하기 위한 기정의된 쿼리 모델을 저장하는 단계;
    상기 기정의된 쿼리 모델의 접근가능한 부분을 사용자에게 디스플레이하는 단계;
    상기 기정의된 쿼리 모델의 접근가능한 부분에 대한 사용자의 편집사항을 접수하는 단계;
    상기 기정의된 쿼리 모델의 접근가능한 부분에 대한 사용자의 편집사항에 기초하여 사용자 각색(user-adapted) 쿼리 모델을 생성하는 단계; 및
    상기 사용자 각색 쿼리 모델에 기초하여 상기 데이터베이스의 쿼리를 개시하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 기정의된 쿼리 모델의 접근가능한 부분을 디스플레이하는 단계는 상기 기정의된 쿼리 모델을 정의하는 접근가능한 데이터 요소들의 그래픽 뷰를 디스플레이하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 접근가능한 데이터 요소들의 그래픽 뷰는 접근가능한 테이블, 상기 테이블에서의 열 및 상기 테이블간의 결합으로 구성되는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    상기 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계; 및
    상기 사용자의 권한에 기초하여 상기 접근가능한 기정의된 쿼리 모델을 판단하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 상기 접근가능한 기정의된 쿼리모델 부분만을 상기 사용자에게 디스플레이하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계;
    상기 사용자의 권한에 기초하여 상기 기정의된 쿼리 모델의 보호된 부분을 판단하는 단계; 및
    상기 기정의된 쿼리 모델의 상기 보호 부분을 사용자에게 디스플레이되지 않게 감추는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계;
    상기 사용자의 권한에 기초하여 상기 기정의된 쿼리 모델의 보호된 부분을 판단하는 단계; 및
    상기 기정의된 쿼리 모델의 상기 보호 부분에 대한 편집을 금지하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서, 상기 사용자 각색 쿼리 모델은 상기 기정의된 쿼리 모델로부터 변형된 데이터베이스 테이블 결합으로 구성되는 것을 특징으로 하는 방법.
  9. 제 1항에 있어서, 상기 사용자 각색 쿼리 모델은 상기 기정의된 쿼리 모델에 없는 데이터베이스 테이블로 구성되는 것을 특징으로 하는 방법.
  10. 제 1항에 있어서,
    상기 기정의된 쿼리 모델에 편집 요구를 상기 사용자로부터 접수하는 단계; 및
    상기 데이터베이스에서의 데이터 요소들의 접근가능한 적어도 일부분의 그래픽 뷰를 사용자에게 디스플레이하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  11. 제 1항에 있어서,
    상기 사용자 각색 쿼리 모델에 기초하여 데이터베이스 쿼리를 자동으로 생성하는 단계; 및
    상기 데이터베이스 쿼리를 개시하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  12. 비즈니스 인텔리전스 포탈에서 데이터베이스 쿼리를 생성하기 위한 방법에 있어서,
    데이터베이스를 쿼리하기 위한 기정의된 쿼리 모델을 서버에 저장하는 단계;
    상기 기정의된 쿼리 모델의 접근가능한 적어도 일부분을 클라이언트로 다운로드하는 단계;
    상기 기정의된 쿼리 모델의 상기 접근가능한 부분을 클라이언트에서 디스플레이하는 단계;
    상기 클라이언트에서 상기 기정의된 쿼리 모델의 상기 접근가능한 부분에 대한 사용자 편집사항을 접수하는 단계;
    상기 기정의된 쿼리 모델의 상기 접근가능한 부분에 대한 사용자 편집사항에 기초하여 사용자 각색 쿼리 모델을 생성하는 단계; 및
    상기 사용자 각색 쿼리 모델에 기초하여 상기 데이터베이스의 쿼리를 개시하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서,
    상기 기정의된 쿼리 모델을 상기 클라이언트로 다운로드하는 단계;
    상기 클라이언트에서 상기 사용자 각색 쿼리 모델을 생성하는 단계;
    상기 사용자 각색 쿼리 모델을 상기 서버로 업로드하는 단계; 및
    상기 서버에서 상기 데이터베이스의 쿼리를 개시하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 12항에 있어서, 상기 기정의된 쿼리 모델의 접근가능한 부분을 디스플레이하는 단계는 상기 기정의된 쿼리 모델을 정의하는 접근가능한 데이터 요소들의 그래픽 뷰를 디스플레이하는 것을 특징으로 하는 방법.
  15. 제 12항에 있어서, 상기 접근가능한 데이터 요소들의 그래픽 뷰는 접근가능한 테이블, 상기 테이블에서의 열 및 상기 테이블간의 결합으로 구성되는 것을 특징으로 하는 방법.
  16. 제 12항에 있어서,
    상기 서버에서 상기 클라이언트의 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계; 및
    상기 사용자의 권한에 기초하여 상기 접근가능한 기정의된 쿼리 모델을 판단하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  17. 제 12항에 있어서, 상기 클라이언트에서 상기 접근가능한 기정의된 쿼리모델 부분만을 디스플레이하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  18. 제 12항에 있어서,
    상기 서버에서 상기 클라이언트의 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계;
    상기 사용자의 권한에 기초하여 상기 기정의된 쿼리 모델의 보호된 부분을 판단하는 단계; 및
    상기 기정의된 쿼리 모델의 상기 보호 부분을 사용자에게 디스플레이되지 않게 감추는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  19. 제 12항에 있어서,
    상기 사용자로부터 상기 기정의된 모델에 대한 요구를 접수하는 단계;
    상기 기정의된 쿼리 모델에 대한 상기 사용자의 권한을 판단하는 단계;
    상기 사용자의 권한에 기초하여 상기 기정의된 쿼리 모델의 보호된 부분을 판단하는 단계; 및
    상기 기정의된 쿼리 모델의 상기 보호 부분에 대한 편집을 금지하는 단계를 포함하는 것을 특징으로 하는 방법.
  20. 제 12항에 있어서, 상기 사용자 각색 쿼리 모델은 상기 기정의된 쿼리 모델로부터 변형된 데이터베이스 테이블 결합으로 구성되는 것을 특징으로 하는 방법.
  21. 제 12항에 있어서, 상기 사용자 각색 쿼리 모델은 상기 기정의된 쿼리 모델에 없는 데이터베이스 테이블로 구성되는 것을 특징으로 하는 방법.
  22. 제 12항에 있어서,
    상기 클라이언트에서 상기 기정의된 쿼리 모델에 편집 요구를 접수하는 단계; 및
    상기 데이터베이스에서의 데이터 요소들의 접근가능한 적어도 일부분의 그래픽 뷰를 상기 클라이언트에서 디스플레이하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  23. 제 12항에 있어서,
    상기 사용자 각색 쿼리 모델에 기초하여 상기 서버에서 데이터베이스 쿼리를 생성하는 단계; 및
    상기 서버에서 상기 데이터베이스 쿼리를 개시하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
KR1020027001295A 1999-07-30 2000-07-28 동적 쿼리 모델 및 방법 KR20020039329A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/364,596 US6581054B1 (en) 1999-07-30 1999-07-30 Dynamic query model and method
US09/364,596 1999-07-30
PCT/US2000/020692 WO2001009768A2 (en) 1999-07-30 2000-07-28 Dynamic query model and method

Publications (1)

Publication Number Publication Date
KR20020039329A true KR20020039329A (ko) 2002-05-25

Family

ID=23435231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027001295A KR20020039329A (ko) 1999-07-30 2000-07-28 동적 쿼리 모델 및 방법

Country Status (13)

Country Link
US (1) US6581054B1 (ko)
EP (1) EP1228448B1 (ko)
JP (1) JP2003519418A (ko)
KR (1) KR20020039329A (ko)
CN (1) CN1399746A (ko)
AT (1) ATE372556T1 (ko)
AU (1) AU768084B2 (ko)
BR (1) BR0012826A (ko)
CA (1) CA2380040A1 (ko)
DE (1) DE60036303T2 (ko)
IL (1) IL147833A0 (ko)
WO (1) WO2001009768A2 (ko)
ZA (1) ZA200200533B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514139B1 (ko) * 2002-11-30 2005-09-08 삼성에스디에스 주식회사 Odbc에 보안기능을 적용한 쿼리 방법 및 그 장치

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408292B1 (en) 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
US6385604B1 (en) 1999-08-04 2002-05-07 Hyperroll, Israel Limited Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
JP3578266B2 (ja) * 2000-01-06 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト
US20020029207A1 (en) 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US20010047387A1 (en) * 2000-03-27 2001-11-29 Exoplex, Inc. Systems and methods for providing distributed cross-enterprise portals
US7167859B2 (en) * 2000-04-27 2007-01-23 Hyperion Solutions Corporation Database security
US7082427B1 (en) 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7003517B1 (en) 2000-05-24 2006-02-21 Inetprofit, Inc. Web-based system and method for archiving and searching participant-based internet text sources for customer lead data
US7120629B1 (en) 2000-05-24 2006-10-10 Reachforce, Inc. Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data
US7096220B1 (en) 2000-05-24 2006-08-22 Reachforce, Inc. Web-based customer prospects harvester system
US6704740B1 (en) * 2000-08-10 2004-03-09 Ford Motor Company Method for analyzing product performance data
US7043531B1 (en) 2000-10-04 2006-05-09 Inetprofit, Inc. Web-based customer lead generator system with pre-emptive profiling
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7499948B2 (en) * 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US6993518B2 (en) * 2001-05-24 2006-01-31 International Business Machines Corporation Method and system for systematically diagnosing data problems in a database
US7392546B2 (en) 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US20030009448A1 (en) * 2001-06-14 2003-01-09 Covington Robert C. Method and apparatus for providing user-specific response
US7720842B2 (en) * 2001-07-16 2010-05-18 Informatica Corporation Value-chained queries in analytic applications
US7174342B1 (en) * 2001-08-09 2007-02-06 Ncr Corp. Systems and methods for defining executable sequences to process information from a data collection
US7672924B1 (en) 2001-08-09 2010-03-02 Teradata Us, Inc. Systems and methods for generating information from a data collection to support decision-making
US7080066B1 (en) 2001-08-09 2006-07-18 Ncr Corporation Systems and methods for refining a decision-making process via executable sequences
US7251693B2 (en) * 2001-10-12 2007-07-31 Direct Computer Resources, Inc. System and method for data quality management and control of heterogeneous data sources
WO2003036489A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. System and method for portal rendering
US7552135B2 (en) * 2001-11-15 2009-06-23 Siebel Systems, Inc. SQL adapter business service
AUPR894801A0 (en) * 2001-11-20 2001-12-13 Unisearch Limited A system and method for searching data sources
KR20030054110A (ko) * 2001-12-24 2003-07-02 한국전자통신연구원 다중 자바 데이터베이스 연결 캐쉬 시스템 및 그 방법
US6996558B2 (en) 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US7725560B2 (en) 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
US7496687B2 (en) * 2002-05-01 2009-02-24 Bea Systems, Inc. Enterprise application platform
US7447687B2 (en) 2002-05-10 2008-11-04 International Business Machines Corporation Methods to browse database query information
US7181450B2 (en) 2002-12-18 2007-02-20 International Business Machines Corporation Method, system, and program for use of metadata to create multidimensional cubes in a relational database
US7716167B2 (en) * 2002-12-18 2010-05-11 International Business Machines Corporation System and method for automatically building an OLAP model in a relational database
US7953694B2 (en) * 2003-01-13 2011-05-31 International Business Machines Corporation Method, system, and program for specifying multidimensional calculations for a relational OLAP engine
US7653930B2 (en) 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US8831966B2 (en) 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US7591000B2 (en) 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7293286B2 (en) 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7483904B2 (en) 2003-02-20 2009-01-27 Bea Systems, Inc. Virtual repository content model
US20040167868A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for a virtual content repository
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US20040230679A1 (en) * 2003-02-28 2004-11-18 Bales Christopher E. Systems and methods for portal and web server administration
US7810036B2 (en) * 2003-02-28 2010-10-05 Bea Systems, Inc. Systems and methods for personalizing a portal
US7895191B2 (en) 2003-04-09 2011-02-22 International Business Machines Corporation Improving performance of database queries
US20050015361A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Model content provider with reusable components for supporting a plurality of GUI API's
US8458164B2 (en) * 2003-07-15 2013-06-04 International Business Machines Corporation Query model tool and method for visually grouping and ungrouping predicates
US20050015368A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Query modelling tool having a dynamically adaptive interface
US20050015363A1 (en) * 2003-07-15 2005-01-20 International Business Machines Corporation Method and structure for representing complex query elements in a modelling tool
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
US20050257245A1 (en) * 2003-10-10 2005-11-17 Bea Systems, Inc. Distributed security system with dynamic roles
US7603547B2 (en) * 2003-10-10 2009-10-13 Bea Systems, Inc. Security control module
US7756822B2 (en) * 2003-12-01 2010-07-13 Sap Ag Operational reporting architecture
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US20050216451A1 (en) * 2004-02-19 2005-09-29 Urs Enzler Generation of database queries from predefined query strings
US7774601B2 (en) 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US7310637B2 (en) * 2004-05-05 2007-12-18 International Business Machines Corporation Dynamic database access via standard query language and abstraction technology
US20050256906A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Interface for portal and webserver administration-efficient updates
US20050257172A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Interface for filtering for portal and webserver administration
US20050257154A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. Graphical association of elements for portal and webserver administration
US20050256899A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for representing hierarchical data structures
US7707143B2 (en) * 2004-06-14 2010-04-27 International Business Machines Corporation Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models
US7480663B2 (en) 2004-06-22 2009-01-20 International Business Machines Corporation Model based optimization with focus regions
US7720858B2 (en) * 2004-07-22 2010-05-18 International Business Machines Corporation Query conditions-based security
US8041728B2 (en) * 2004-09-30 2011-10-18 International Business Machines Corporation Utilization of display profiles with abstract queries
US7783670B2 (en) * 2004-11-18 2010-08-24 Bea Systems, Inc. Client server conversion for representing hierarchical data structures
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
US7624097B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Abstract records
US7689555B2 (en) * 2005-01-14 2010-03-30 International Business Machines Corporation Context insensitive model entity searching
US8122012B2 (en) * 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US8095553B2 (en) * 2005-03-17 2012-01-10 International Business Machines Corporation Sequence support operators for an abstract database
CA2519015A1 (en) * 2005-09-13 2007-03-13 Cognos Incorporated System and method of providing relational set operations for olap data sources
US9679031B2 (en) * 2005-09-14 2017-06-13 International Business Machines Corporation Composing abstract queries for delegated user roles
US7953734B2 (en) 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US7752205B2 (en) 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US7444332B2 (en) * 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
US7440945B2 (en) * 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US8180789B1 (en) * 2005-12-05 2012-05-15 Teradata Us, Inc. Techniques for query generation, population, and management
US20080077982A1 (en) * 2006-09-22 2008-03-27 Bea Systems, Inc. Credential vault encryption
US8204895B2 (en) * 2006-09-29 2012-06-19 Business Objects Software Ltd. Apparatus and method for receiving a report
US8126887B2 (en) * 2006-09-29 2012-02-28 Business Objects Software Ltd. Apparatus and method for searching reports
US7899837B2 (en) * 2006-09-29 2011-03-01 Business Objects Software Ltd. Apparatus and method for generating queries and reports
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
JP2008112934A (ja) * 2006-10-31 2008-05-15 Oki Electric Ind Co Ltd 半導体記憶装置及びその製造方法
US8185951B2 (en) * 2006-12-20 2012-05-22 International Business Machines Corporation Method of handling user groups in desktop and web based applications in a heterogeneous authentication environment
US20080168042A1 (en) * 2007-01-09 2008-07-10 Dettinger Richard D Generating summaries for query results based on field definitions
US8140557B2 (en) 2007-05-15 2012-03-20 International Business Machines Corporation Ontological translation of abstract rules
US20090019022A1 (en) * 2007-07-15 2009-01-15 Dawning Technologies, Inc. Rules-based data mining
US20090043788A1 (en) * 2007-08-06 2009-02-12 Panorama Software Inc. Proactive business intelligence
US7809751B2 (en) * 2007-08-27 2010-10-05 Sap Ag Authorization controlled searching
US8316384B2 (en) * 2009-02-18 2012-11-20 Microsoft Corporation Input/output broker model
US9305105B2 (en) * 2009-05-26 2016-04-05 Google Inc. System and method for aggregating analytics data
US8549019B2 (en) * 2009-05-26 2013-10-01 Google Inc. Dynamically generating aggregate tables
US8412719B1 (en) 2009-09-02 2013-04-02 Google Inc. Method and system for segmenting a multidimensional dataset
US8751544B2 (en) * 2009-09-02 2014-06-10 Google Inc. Method and system for pivoting a multidimensional dataset
CA2684438C (en) * 2009-09-22 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee User customizable queries to populate model diagrams
US8554699B2 (en) * 2009-10-20 2013-10-08 Google Inc. Method and system for detecting anomalies in time series data
US8583584B2 (en) * 2009-10-20 2013-11-12 Google Inc. Method and system for using web analytics data for detecting anomalies
US9785987B2 (en) 2010-04-22 2017-10-10 Microsoft Technology Licensing, Llc User interface for information presentation system
US20110264665A1 (en) * 2010-04-26 2011-10-27 Microsoft Corporation Information retrieval system with customization
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US9946768B2 (en) * 2010-11-02 2018-04-17 Microsoft Technology Licensing, Llc Data rendering optimization
CN104040537B (zh) * 2011-11-24 2017-10-03 瓦欧尼斯系统有限公司 数据库查询的自动生成和执行的系统及方法
US9128908B2 (en) * 2011-12-19 2015-09-08 Sap Se Converting reports between disparate report formats
US20140081994A1 (en) * 2012-08-10 2014-03-20 The Trustees Of Columbia University In The City Of New York Identifying Content for Planned Events Across Social Media Sites
US9824121B2 (en) * 2012-08-10 2017-11-21 Arris Enterprises Llc Aggregate data streams in relational database systems
US10915541B2 (en) * 2014-07-01 2021-02-09 Verizon Patent And Licensing Inc. Generic API
US10606855B2 (en) 2014-07-10 2020-03-31 Oracle International Corporation Embedding analytics within transaction search
US10585892B2 (en) 2014-07-10 2020-03-10 Oracle International Corporation Hierarchical dimension analysis in multi-dimensional pivot grids
US10303726B2 (en) * 2014-11-13 2019-05-28 Sap Se Decoupling filter injection and evaluation by forced pushdown of filter attributes in calculation models
US10504147B1 (en) * 2015-03-06 2019-12-10 Amazon Technologis, Inc. Enhanced permissions management
US10642990B2 (en) 2015-10-24 2020-05-05 Oracle International Corporation Generation of dynamic contextual pivot grid analytics
CN105912603B (zh) * 2016-04-06 2020-05-29 百度在线网络技术(北京)有限公司 网络空间的业务查询方法及装置
US20180253677A1 (en) * 2017-03-01 2018-09-06 Gregory James Foster Method for Performing Dynamic Data Analytics
CN109284435B (zh) * 2018-03-28 2020-05-26 北京航空航天大学 面向互联网的用户交互痕迹捕获、存储和检索系统及方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210870A (en) 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
US5212639A (en) 1990-04-05 1993-05-18 Sampson Wesley C Method and electronic apparatus for the classification of combinatorial data for the summarization and/or tabulation thereof
WO1992008199A1 (en) 1990-10-31 1992-05-14 Go Corporation Computer documents as compound documents in a notebook metaphor
US5379419A (en) 1990-12-07 1995-01-03 Digital Equipment Corporation Methods and apparatus for accesssing non-relational data files using relational queries
US5481700A (en) 1991-09-27 1996-01-02 The Mitre Corporation Apparatus for design of a multilevel secure database management system based on a multilevel logic programming system
US5359724A (en) 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
DE69318571T2 (de) 1992-12-01 1998-09-17 Microsoft Corp Verfahren und system für die in-ort-wechselwirkung mit eingebetteten objekten
US5671379A (en) 1993-01-29 1997-09-23 International Business Machines Corporation System and method for managing windows
US5701453A (en) 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
DE4334336A1 (de) * 1993-10-08 1995-05-04 Mannesmann Ag Gasanalysator mit geregelter Meßgaszuführung und dynamischer Probenverdünnung
US5410693A (en) 1994-01-26 1995-04-25 Wall Data Incorporated Method and apparatus for accessing a database
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5555367A (en) * 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams
DE69523543T2 (de) 1994-12-13 2002-04-04 Microsoft Corp Taskbar mit Startmenü
US5682468A (en) 1995-01-23 1997-10-28 Intergraph Corporation OLE for design and modeling
US5588109A (en) 1995-01-23 1996-12-24 Hewlett-Packard Company User interface for a remote diagnostic device
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5917483A (en) 1995-09-18 1999-06-29 Oracle Corporation Advanced windows management for a computer system
US5721903A (en) 1995-10-12 1998-02-24 Ncr Corporation System and method for generating reports from a computer database
US5831617A (en) 1995-11-27 1998-11-03 Bhukhanwala; Saumil A. Browsing and manipulating objects using movie like icons
JP3952518B2 (ja) 1996-03-29 2007-08-01 株式会社日立製作所 多次元データ処理方法
US5870756A (en) 1996-04-26 1999-02-09 Fujitsu Limited Interchangeable storage medium containing program for processing data files thereupon to match a data file format to a computer system
US6662843B1 (en) * 1996-07-24 2003-12-16 Illinois Tool Works Inc. Apparatus for applying tape with fastener profiles to a web
US5734380A (en) 1996-09-27 1998-03-31 Adams; James S. Method for controlling the presentation of displays in a multi-window computer environment
US5842199A (en) 1996-10-18 1998-11-24 Regents Of The University Of Minnesota System, method and article of manufacture for using receiver operating curves to evaluate predictive utility
US6047280A (en) 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
US5852818A (en) 1996-12-23 1998-12-22 Oracle Corporation Non-recursive method for parameter evaluation within an information management system
US6026399A (en) 1997-05-30 2000-02-15 Silicon Graphics, Inc. System and method for selection of important attributes
US5978796A (en) 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database
US6205447B1 (en) 1997-06-30 2001-03-20 International Business Machines Corporation Relational database management of multi-dimensional data
US6122628A (en) 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US6134541A (en) 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US5943677A (en) 1997-10-31 1999-08-24 Oracle Corporation Sparsity management system for multi-dimensional databases
US6380954B1 (en) 1998-02-09 2002-04-30 Reuters, Ltd. Method and system for layout of objects within a perimeter using constrained interactive search

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514139B1 (ko) * 2002-11-30 2005-09-08 삼성에스디에스 주식회사 Odbc에 보안기능을 적용한 쿼리 방법 및 그 장치

Also Published As

Publication number Publication date
AU6501600A (en) 2001-02-19
EP1228448B1 (en) 2007-09-05
ZA200200533B (en) 2003-01-16
EP1228448A2 (en) 2002-08-07
US6581054B1 (en) 2003-06-17
IL147833A0 (en) 2002-08-14
WO2001009768A2 (en) 2001-02-08
BR0012826A (pt) 2004-06-29
CA2380040A1 (en) 2001-02-08
WO2001009768A3 (en) 2002-05-30
ATE372556T1 (de) 2007-09-15
DE60036303T2 (de) 2008-05-29
JP2003519418A (ja) 2003-06-17
CN1399746A (zh) 2003-02-26
DE60036303D1 (de) 2007-10-18
AU768084B2 (en) 2003-12-04

Similar Documents

Publication Publication Date Title
KR20020039329A (ko) 동적 쿼리 모델 및 방법
KR20020039328A (ko) 데이터베이스 쿼리 수행을 위한 모듈식 방법 및 시스템
KR20020039330A (ko) 다차원 저장모델 및 방법
US8091040B2 (en) Method and system for displaying a plurality of discrete files in a compound file
US7015911B2 (en) Computer-implemented system and method for report generation
US10078665B2 (en) Customized retrieval and presentation of information from a database
JP2002366401A (ja) 統合的データマート構築及び運用支援システム
CA2299867C (en) Customized retrieval and presentation of information from a database
de S. e Silva et al. An Architecture for Data Warehouse Systems Using a Heterogeneous Database Management System—HEROS
Rodrigues et al. BIDS and SSMS
Al_layla Designing a Hybrid Relational Database Management System (HRDBMS)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application