KR101625238B1 - 웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입 - Google Patents

웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입 Download PDF

Info

Publication number
KR101625238B1
KR101625238B1 KR1020107022595A KR20107022595A KR101625238B1 KR 101625238 B1 KR101625238 B1 KR 101625238B1 KR 1020107022595 A KR1020107022595 A KR 1020107022595A KR 20107022595 A KR20107022595 A KR 20107022595A KR 101625238 B1 KR101625238 B1 KR 101625238B1
Authority
KR
South Korea
Prior art keywords
server computer
multimedia file
web
request
network
Prior art date
Application number
KR1020107022595A
Other languages
English (en)
Other versions
KR20100139012A (ko
Inventor
조나단 엠. 룩
준 제
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20100139012A publication Critical patent/KR20100139012A/ko
Application granted granted Critical
Publication of KR101625238B1 publication Critical patent/KR101625238B1/ko

Links

Images

Classifications

    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 기술이 본 명세서에 기술되어 있다. 멀티미디어 파일에 대한 요청이 네트워크를 통해 클라이언트 컴퓨터로부터 수신된다. 멀티미디어 파일에 대한 요청이 네트워크를 통해 서버트 컴퓨터로 전송된다. 멀티미디어 파일에 대한 요청이 프록시 웹 서비스를 거쳐 전송된다. 멀티미디어 파일에 대한 요청이 전송될 때, 멀티미디어 파일이 네트워크를 통해 서버 컴퓨터로부터 수신된다. 멀티미디어 파일이 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 삽입된다.

Description

웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입{INSERTING A MULTIMEDIA FILE THROUGH A WEB-BASED DESKTOP PRODUCTIVITY APPLICATION}
데스크탑 생산성 응용 프로그램(이하 "생산성 응용 프로그램"이라고 함)은 사람들이 문서를 작성하고, 스프레드시트를 만들고, 개인적인 그리고 비즈니스와 관련된 다양한 기타 작업들을 수행하는 방식을 바꾸었다. 특히, 생산성 응용 프로그램은 사용자로 하여금 고품질의 작업 결과물을 효율적이고도 비용 효과적인 방식으로 생성할 수 있도록 해준다. 생산성 응용 프로그램의 예로는 워드프로세싱 응용 프로그램, 스프레드시트 응용 프로그램, 프레젠테이션 응용 프로그램 등이 있다. 또한, 생산성 응용 프로그램들의 그룹이 보통 번들로 판매된다. 이러한 번들의 예로 MICROSOFT CORPORATION의 OFFICE와 INTERNATIONAL BUSINESS MACHINES INC.의 LOTUS SMARTSUITE를 들 수 있다.
만일 사용자가 특정한 컴퓨터에서 생산성 응용 프로그램에 액세스하기를 원한다면, 사용자는 종래에는 생산성 응용 프로그램을 그 컴퓨터에 로컬로 설치한다. 만일 사용자가 다른 컴퓨터에서 생산성 응용 프로그램에 액세스하기를 원한다면, 사용자는 생산성 응용 프로그램을 그 다른 컴퓨터에 로컬로 설치할 필요가 있을 것이다. 이것은 많은 잠재적인 단점들을 야기한다. 한 일례에서, 사용자가 여러 대의 컴퓨터를 가지고 있는 경우, 사용자는 생산성 응용 프로그램을 모든 컴퓨터에 설치할 필요가 있을 수 있다. 이러한 상황은 컴퓨터들 중에 일부가 생산성 응용 프로그램을 실행할 만한 처리 능력을 가지고 있지 않거나 생산성 응용 프로그램을 저장할 디스크 공간을 가지고 있지 않은 경우에 문제점들을 야기할 수 있다. 또한 여러 복사본을 설치하게 되면 상당한 비용이 더 들게 된다.
또 다른 일례에서, 사용자가 동료로부터 컴퓨터를 빌리게 되는 경우, 사용자는 동료가 생산성 응용 프로그램을 설치한 경우에만 그 컴퓨터에서 생산성 응용 프로그램에 액세스할 수 있다. 동료가 생산성 응용 프로그램을 설치하지 않은 경우, 사용자가 생산성 응용 프로그램의 다른 복사본을 구입하고 설치할지도 모른다. 하지만, 이러한 선택은 상당한 비용이 더 들기 때문에 바람직하지 않은데, 단지 짧은 기간 동안 컴퓨터를 빌린 경우에 특히 그렇다. 게다가, 그 동료는 자신의 컴퓨터에 생산성 응용 프로그램이 설치되기를 바라지 않을지도 모른다.
또 다른 일례에서, 사용자가 자신의 컴퓨터에 액세스하지 못하고(예를 들면, 사용자가 휴가 중임), 따라서 사용자는 도서관이나 인터넷 카페에서 흔히 찾아볼 수 있는 것과 같은 공용 컴퓨터(publicly-accessible computer)에 의존하게 된다. 대다수의 공용 컴퓨터에는, 새로운 소프트웨어의 설치가 금지되며, 때로는 소프트웨어 응용 프로그램, 방화벽, 및 기타 보안 대책에 의해서 방지되기도 한다. 따라서, 공용 컴퓨터에 생산성 응용 프로그램이 없는 경우, 사용자는 실질적으로 생산성 응용 프로그램에 액세스할 방법이 없을 수도 있다.
소프트웨어-기반 생산성 응용 프로그램이 특정한 컴퓨터에 설치되어 있지 않거나 특정한 컴퓨터에서 이용할 수 없는 경우, 사용자는 인터넷 또는 다른 적절한 네트워크 상에서 웹-기반 생산성 응용 프로그램에 액세스할 수 있다. 웹-기반 생산성 응용 프로그램은 사용자가 다양한 문서를 생성하고 편집할 수 있도록 해줌으로써, 소프트웨어-기반 생산성 응용 프로그램과 동일한 기능의 적어도 일부를 제공할 수 있다. 게다가, 웹-기반 생산성 응용 프로그램은 표준 웹 브라우저를 통해 액세스될 수 있다.
소프트웨어-기반 생산성 응용 프로그램에서 흔히 찾아볼 수 있는 한 가지 특징은 외부 라이브러리 또는 기타 적당한 컬렉션에서 멀티미디어 파일을 검색하고, 멀티미디어 파일을 웹-기반 생산성 응용 프로그램에 의해 편집 중인 문서 내에 삽입할 수 있는 기능이다. 이러한 기능을 구현하는 다수의 접근 방법들이 개발되었지만, 최적의 방법은 아닌 것으로 생각된다. 제1 접근 방법에서, 사용자는 외부 라이브러리로부터 멀티미디어 파일을 수동으로 다운로드하고 멀티미디어 파일을 로컬에 저장한다. 이어서, 사용자는 문서에 삽입하기 위해 멀티미디어 파일을 로컬 저장 장치로부터 웹-기반 생산성 응용 프로그램으로 수동으로 업로드한다. 여러 문제점들 중에서도 특히, 이 접근 방법은 파일 다운로드 및 저장을 허용하지 않는 공용 컴퓨터와 기타 컴퓨터에는 적합하지 않다.
제2 접근 방법에서, 사용자는 ACTIVEX 컨트롤 또는 기타 웹 브라우저 컨트롤을 웹 브라우저에 설치한다. ACTIVEX 컨트롤은 외부 라이브러리로부터 멀티미디어 파일을 검색하는 것을 지원하도록 구성되어 있을 수 있다. 몇몇 웹 브라우저, 방화벽, 기타 보안 대책은, 잠재적 악성 코드의 설치를 방지하기 위하여, ACTIVEX 컨트롤과 같은 웹 브라우저 컨트롤의 설치를 제한하거나 차단한다. 제3 접근 방법에서, 사용자는 멀티미디어 파일에 대응하는 URL을 웹-기반 생산성 응용 프로그램에 수동으로 입력한다. 이와 같이, 웹-기반 생산성 응용 프로그램은 외부 라이브러리로부터 멀티미디어 파일을 직접 다운로드하고 멀티미디어 파일을 문서에 삽입할 수 있다. 사용자가 모든 멀티미디어 파일에 대한 URL을 알고 있어야 하고 또 그 URL을 웹-기반 생산성 응용 프로그램에 수동으로 삽입해야 하는 것은 사용자에게 상당한 양의 작업을 전가하고 좋지 않은 사용자 경험을 야기하게 된다.
본 명세서에 기술된 개시 내용은 이들 및 기타 문제점들과 관련하여 제공되어 있다.
<발명의 요약>
웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 개선된 방법과 시스템에 대한 기술들이 본 명세서에 기술되어 있다. 상세하게는, 본 명세서에 제시된 기술들과 개념들을 활용하여, 사용자는 종래의 방법들보다 훨씬 유연하게 멀티미디어 파일을 웹-기반 데스크탑 생산성 응용 프로그램을 통해 편집 중인 문서에 삽입할 수 있다. 특히, 본 명세서에 설명된 기술들에서는 사용자가 멀티미디어 파일을 사용자의 컴퓨터에 다운로드하여 저장할 필요가 없고, 클라이언트측 ACTIVEX 컨트롤에 의존하지 않으며, 사용자가 URL(uniform resource locator)들을 웹-기반 데스크탑 생산성 응용 프로그램에 수동으로 입력할 필요가 없다.
본 명세서에 제시된 한 측면에 따르면, 컴퓨터 프로그램은 웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입한다. 컴퓨터 프로그램은 네트워크를 통해 클라이언트 컴퓨터로부터 멀티미디어 파일 요청을 수신한다. 컴퓨터 프로그램은 네트워크를 통해 멀티미디어 파일 요청을 서버 컴퓨터로 전송한다. 멀티미디어 파일 요청은 프록시 웹 서비스를 거쳐 전송될 수 있다. 멀티미디어 파일 요청에 대한 응답으로, 컴퓨터 프로그램은 네트워크를 통해 서버 컴퓨터로부터 멀티미디어 파일을 수신한다. 컴퓨터 프로그램은 멀티미디어 파일을 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 삽입한다. 일 실시예에서, 웹-기반 데스크탑 생산성 응용 프로그램은 삽입된 멀티미디어 파일을 포함하는 문서의 업데이트된 보기(updated view)를 보여주기 위하여 자신의 디스플레이를 새로고침한다.
상기한 발명 대상이 또한 컴퓨터-제어 장치, 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터-판독가능 매체 등의 제조 물품으로서도 구현될 수 있다는 것을 잘 알 것이다. 이들 및 다양한 다른 특징들이 이하의 상세한 설명을 읽어보고 또 관련 도면들을 살펴보면 명백하게 될 것이다.
이 요약은 이하에서 상세한 설명에 더 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니며, 또한 이 요약은 청구된 발명 대상의 범위를 제한하는 데 사용되기 위한 것도 아니다. 게다가, 청구된 발명 대상이 본 개시 내용의 임의의 부분에 기술된 단점들의 일부 또는 그 전부를 해결하는 구현들로 제한되지 않는다.
도 1은 일 실시예에 따른, 웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 시스템을 나타낸 블록도.
도 2는 일 실시예에 따른, 멀티미디어 파일을 삽입하기 이전의 예시적인 생산성 도우미 응용 프로그램의 스크린 샷을 나타낸 화면 디스플레이 다이어그램.
도 3a는 일 실시예에 따른, 예시적인 클립아트 인터페이스의 스크린 샷을 나타낸 화면 디스플레이 다이어그램.
도 3b는 일 실시예에 따른, 다른 예시적인 클립아트 인터페이스의 스크린 샷을 나타낸 화면 디스플레이 다이어그램.
도 4는 멀티미디어 파일을 삽입하기 이후의 예시적인 생산성 도우미 응용 프로그램의 다른 스크린 샷을 나타낸 화면 디스플레이 다이어그램.
도 5a 및 도 5b는 웹-기반 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 예시적인 프로세스를 나타낸 흐름도.
도 6은 본 명세서에 제시된 실시예들의 측면들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 아키텍처의 측면들을 보여주는 컴퓨터 아키텍처를 나타낸 도면.
이하의 상세한 설명은 웹-기반 데스크탑 생산성 응용 프로그램을 통해 외부 라이브러리에서 멀티미디어 파일을 검색하고, 멀티미디어 파일을 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 삽입하는 기술들에 관한 것이다. 본 명세서에 제시된 기술들과 개념들을 활용하여, 사용자는, 한 도메인에서 운영되는 웹-기반 데스크탑 생산성 응용 프로그램을 이용하여 문서를 편집하면서, 다른 도메인에서 운영되는 외부 라이브러리에 저장된 멀티미디어 파일을 검색할 수도 있다. 일단 사용자가 멀티미디어 파일을 선택하면, 웹-기반 데스크탑 생산성 응용 프로그램은 외부 라이브러리로부터 직접 멀티미디어 파일을 검색할 수도 있고, 현재 편집 중인 문서에 멀티미디어 파일을 삽입할 수도 있다.
멀티미디어 파일이 사용자의 컴퓨터에 저장되어 있지 않다는 것을 잘 알 것이다. 더욱이, 사용자는 어떤 ACTIVEX 컨트롤이나 기타 웹 브라우저 컨트롤도 다운로드하지 않는다. 따라서, 본 명세서에 제시된 기술들과 개념들은 컴퓨터로 컨텐츠를 다운로드하는 것이 금지되어 있는 공용 컴퓨터 및 기타 컴퓨터 상에서도 구현될 수 있다. 또한, 웹-기반 데스크탑 생산성 응용 프로그램에서 외부 라이브러리로부터 멀티미디어 파일을 검색하고 멀티미디어 파일을 문서에 삽입하는 동작들이 사용자에게 투명하다. 즉, 사용자는 외부 라이브러리에서의 멀티미디어 파일의 위치도 알지 못하고, 웹-기반 데스크탑 생산성 응용 프로그램 및 외부 라이브러리가 서로 다른 도메인에서 운영되고 있다는 것도 알지 못한다.
본 명세서에 기술된 발명 대상이 일반적으로 컴퓨터 시스템 상에서 운영 체제 및 응용 프로그램을 실행하는 것과 관련하여 실행되는 프로그램 모듈들과 관련하여 제공되어 있지만, 당업자라면 다른 구현들이 다른 유형의 프로그램 모듈들과 관련하여 수행될 수 있다는 것을 잘 알 것이다. 일반적으로, 프로그램 모듈들은 특정의 작업들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 루틴, 프로그램, 구성요소, 데이터 구조, 및 기타 유형의 구조체를 포함한다. 게다가, 당업자라면 본 명세서에 기술된 발명 대상이 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 미니컴퓨터, 메인프레임 컴퓨터, 기타 등등을 비롯한 기타 컴퓨터 시스템 구성에서 실시될 수 있다는 것을 잘 알 것이다.
사용자가 특정한 컴퓨터에서 생산성 응용 프로그램에 액세스할 수 없는 경우에, 사용자는 생산성 응용 프로그램이 제공하는 기능 중 적어도 일부 기능을 제공하는 웹 응용 프로그램에 액세스할 수 있다. 예시적인 실시예들에 따르면, 생산성 응용 프로그램은 컴퓨터에 설치하는 종래의 소프트웨어 응용 프로그램 및 웹 브라우저를 통해 액세스하는 웹 응용 프로그램 둘다로 제공될 수 있다. 소프트웨어 응용 프로그램을 본 명세서에서 생산성 소프트웨어 응용 프로그램이라고 한다. 웹 응용 프로그램을 본 명세서에서 생산성 도우미 응용 프로그램이라고 한다.
일반적으로, 기존의 생산성 도우미 응용 프로그램은 생산성 소프트웨어 응용 프로그램이 제공하는 것과 동일한 수준의 기능을 제공하지 않는다. 제대로 작동하는 생산성 도우미 응용 프로그램을 개발함에 있어서의 어려움들 중 하나는 네트워크를 통한 악의적인 컨텐츠의 수신을 방지하는 네트워크 보안 대책 뿐만 아니라 웹 브라우저의 한계와 같은 다양한 제한 사항들을 감안하여 대응하는 생산성 소프트웨어 응용 프로그램의 전체 기능 세트를 똑같게 하는 것이다. 생산성 소프트웨어 응용 프로그램의 모든 기능을 똑같게 하는 것이 비현실적일 수도 있기 때문에, 보다 실용적인 접근 방법은 선택된 기능들을 구현하는 것을 포함할 수 있다.
다수의 생산성 소프트웨어 응용 프로그램에서 흔히 발견할 수 있는 보편적이고 유용한 한가지 특징은 외부 라이브러리로부터의 멀티미디어 파일(텍스트, 이미지, 오디오, 비디오 또는 이들의 조합 등)을 생산성 소프트웨어 응용 프로그램에 의해 편집되는 문서에 삽입하는 것이다. 멀티미디어 파일의 외부 라이브러리의 일례로는 GOOGLE INC. 의 YOUTUBE, YAHOO! INC. 의 FLICKR, 및 NEWS CORPORATION의 MYSPACE가 있지만, 이들로 제한되지 않는다. 멀티미디어 파일의 외부 라이브러리의 다른 일례로는 MICROSOFT CORPORATION의 OFFICE ONLINE에서 제공하는 클립아트 갤러리가 있다. OFFICE ONLINE 클립아트 갤러리는 현재 워드프로세싱 문서, 스프레드시트 문서, 프레젠테이션 문서 등에 삽입할 수 있는 150,000개 이상의 클립아트 이미지와 사운드에 대한 액세스를 제공한다.
생산성 소프트웨어 응용 프로그램을 사용하여, 외부 라이브러리로부터의 멀티미디어 파일을 문서에 삽입하는 것은 비교적 간단하다. 특히, 사용자가 생산성 소프트웨어 응용 프로그램을 컴퓨터에 설치하였기 때문에, 사용자가 그 컴퓨터에 대해 완전히 액세스할 수 있는 것으로 일반적으로 가정될 수 있다. 그에 따라, 사용자는, 예를 들면, URL(uniform resource locator)을 통해 외부 라이브러리에 멀티미디어 파일을 요청할 수 있다. 외부 라이브러리는 그 요청에 응답하여 멀티미디어 파일을 사용자의 컴퓨터로 전송할 수 있다. 멀티미디어 파일이 최소한 일시적으로라도 사용자의 컴퓨터에 현재 저장되어 있기 때문에, 사용자는 이어서 생산성 소프트웨어 응용 프로그램을 통해 멀티미디어 파일을 문서에 삽입할 수 있다.
하지만, 생산성 도우미 응용 프로그램을 이용하여, 외부 라이브러리에 대한 액세스를 제공하는 것은 다양한 어려움들을 야기한다. 일반적으로, 생산성 도우미 응용 프로그램이 한 도메인으로부터 제공되는 반면, 외부 라이브러리는 다른 도메인으로부터 제공된다. 보안을 위해, 일부 웹 브라우저는, 웹 브라우저 보안 대책을 구현함으로써, 한 도메인에 의해 제공되는 웹 사이트가 다른 도메인에 의해 제공되는 웹 사이트를 방문하거나 다른 도메인에 의해 제공되는 응용 프로그램에 액세스하는 것을 금지시킨다.
웹 브라우저 보안 대책을 우회하는 한 가지 방법은 외부 라이브러리를 복사하고 그 외부 라이브러리를 제1 도메인에 제공하는 것이다. 하지만, 구축된 외부 라이브러리의 전용 서버를 다시 만드는 것은 많은 시간이 걸리며 엄청난 비용이 든다. 웹 브라우저 보안 대책을 우회하는 다른 방법은 ACTIVEX 컨트롤이나 기타 적당한 웹 브라우저 컨트롤을 이용하여 외부 라이브러리에 액세스하는 것이다. 하지만, 일부 브라우저와 방화벽은 어떤 경우들에 악의적으로 이용될 수 있는 ACTIVEX 컨트롤을 차단한다. 게다가, 어떤 웹 사용 정책은 사용자가 ACTIVEX 컨트롤을 시작하는 것조차도 금지시킨다.
웹 브라우저 보안 대책을 우회하는 또 다른 방법은 요청된 멀티미디어 파일에 대한 URL을 통한 직접 링크(direct link)를 사용자에게 제공하는 것이다. 사용자는 URL을 사용하여 외부 라이브러리로부터 멀티미디어 파일을 수동으로 다운로드한 다음에, 멀티미디어 파일을 생산성 도우미 응용 프로그램으로 수동으로 업로드하고, 생산성 도우미 응용 프로그램은 멀티미디어 파일을 문서에 삽입한다. 그렇지만, 사용자에게 멀티미디어 파일을 수동으로 다운로드하고 업로드하는 부담을 지우는 것은 좋지 않는 사용자 경험을 야기할 수 있다. 또한, 사용자가 다운로드된 멀티미디어 파일을 저장할 권한 또는 능력을 갖고 있지 않을 수도 있다. 예를 들면, 일부 공용 컴퓨터는 멀티미디어의 다운로드 및 저장을 차단한다.
본 명세서에 기술된 실시예들은 이상에서 기술한 다른 접근 방법들에서의 문제점들 중 적어도 일부 문제점을 해결하는 접근 방법을 제공한다. 특히, 본 명세서에 기술된 실시예들은 사용자 컴퓨터의 어떤 저장 리소스도 이용하지 않으며 사용자가 어떠한 웹 브라우저 컨트롤도 설치할 필요가 없는 전적으로 서버측 프로세스를 제공한다. 생산성 도우미 응용 프로그램과 외부 라이브러리 사이의 통신이 사용자에게 투명하게 되어 있다. 즉, 사용자는 멀티미디어 파일의 위치(예를 들어, URL)도 알지 못하고, 생산성 도우미 응용 프로그램과 외부 라이브러리가 서로 다른 도메인에서 운영된다는 것도 알지 못한다.
이하의 상세한 설명에서, 본 명세서의 일부를 형성하고 구체적인 실시예들 또는 일례들이 예시로서 도시되어 있는 첨부 도면들이 참조되고 있다. 특히, 이하에서 설명되는 실시예들은 클립아트 갤러리에 저장된 클립아트 이미지들을 주로 참조한다. 하지만, 외부 라이브러리에 저장된 어떤 적당한 멀티미디어 파일들도 이와 유사하게 이용될 수 있다는 것을 잘 알 것이다. 게다가, 이하에 설명된 실시예들은 프레젠테이션 응용 프로그램을 주로 참조하지만, 다른 생산성 응용 프로그램들도 이용될 수 있다.
이제부터, 유사한 참조 번호가 몇개의 도면에 걸쳐 유사한 구성요소를 나타내고 있는 도면들을 참조하여, 향상된 프레젠테이션 도우미(presentation companion) 응용 프로그램을 제공하는 컴퓨팅 시스템 및 방법의 측면들에 대해 설명할 것이다. 도 1을 참조하여, 프레젠테이션 도우미 응용 프로그램 - 프레젠테이션 도우미 응용 프로그램에 의해 사용자는 원격 클립아트 라이브러리에 저장된 클립아트 이미지를 검색할 수 있고 클립아트 이미지를 프레젠테이션 도우미 응용 프로그램에 의해 편집되는 프레젠테이션 문서에 직접 삽입할 수 있음 - 의 구현에 관한 추가적인 상세 설명이 제공될 것이다. 상세하게는, 도 1은 클립아트 라이브러리(106)로부터 클립아트 이미지(104)를 검색하고 클립아트 이미지(104)를 프레젠테이션 도우미 응용 프로그램(102)에 의해 편집되는 문서에 직접 삽입하도록 구성되어 있는 프레젠테이션 도우미 응용 프로그램(102)을 포함하는 시스템(100)의 측면들을 나타낸 것이다. 시스템(100)은 클라이언트 컴퓨터(108), 제1 서버 컴퓨터(110) 및 제2 서버 컴퓨터(112)를 포함하고 있다. 클라이언트 컴퓨터(108), 제1 서버 컴퓨터(110) 및 제2 서버 컴퓨터(112)는 네트워크(114)를 통해 연결되어 동작한다. 네트워크(114)는 근거리 통신망(LAN), 가상 사설망(LAN), 또는 인터넷 등의 임의의 적합한 네트워크일 수 있다. 일 실시예에서, 제1 서버 컴퓨터(110) 및 제2 서버 컴퓨터(112)는 서로 다른 도메인에서 동작하고 있다.
일 실시예에서, 클라이언트 컴퓨터(108)는 운영 체제 및 하나 이상의 응용 프로그램들을 실행할 수 있는 표준의 데스크탑 또는 랩톱 컴퓨터 시스템이다. 그렇지만, 다른 실시예들에서, 클라이언트 컴퓨터(108)가 다른 유형의 컴퓨팅 장치일 수 있다는 것을 잘 알 것이다. 예를 들어, 실시예들에 따르면, 클라이언트 컴퓨터(108)는 휴대폰, 스마트폰, 울트라 모바일 개인용 컴퓨터, 태블릿 개인용 컴퓨터, 또는 기타 적합한 모바일 컴퓨팅 장치 등의 모바일 컴퓨팅 장치일 수 있다. 다른 장치들도 유사한 방식으로 이용될 수 있다.
실시예들에 따르면, 클라이언트 컴퓨터(108)는 프레젠테이션 소프트웨어 응용 프로그램(116) 및 기타 적합한 생산성 응용 프로그램들(예를 들어, 워드 프로세싱 응용 프로그램, 스프레드시트 응용 프로그램)을 실행하는 동작을 한다. 프레젠테이션 소프트웨어 응용 프로그램(116)은 프레젠테이션 문서를 작성하고 편집할 수 있는 임의의 적합한 소프트웨어 응용 프로그램일 수 있다. 프레젠테이션 문서는, 예를 들어, 하나 이상의 슬라이드들을 포함할 수 있다. 예시적인 프레젠테이션 소프트웨어 응용 프로그램(116)은 MICROSOFT CORPORATION의 POWERPOINT이다. 프레젠테이션 소프트웨어 응용 프로그램(116)이 클라이언트 컴퓨터(108) 상에 설치되어 있지 않은 경우, 사용자는 제1 서버 컴퓨터(110) 상의 프레젠테이션 도우미 응용 프로그램(102)에 액세스할 수 있다. 프레젠테이션 소프트웨어 응용 프로그램(116)과 같이, 프레젠테이션 도우미 응용 프로그램(102)도 프레젠테이션 문서를 작성하고 편집할 수 있다.
실시예들에 따르면, 프레젠테이션 도우미 응용 프로그램(102)은 웹 사이트에서 구현되는 웹 응용 프로그램이다. 그에 따라, 프레젠테이션 도우미 응용 프로그램(102)은 클라이언트 컴퓨터(108) 상에서 실행되는 표준의 웹 브라우저(118)를 통해 액세스가능하다. 프레젠테이션 도우미 응용 프로그램(102)이 인터넷을 통해 액세스될 수 있는 것으로 본 명세서에 기술되어 있지만, 프레젠테이션 도우미 응용 프로그램(102)이 사설 내부 웹사이트(예를 들어, 기업 서버)에서도 이용가능하게 될 수 있다는 것을 잘 알 것이다. 게다가, 프레젠테이션 도우미 응용 프로그램(102)이 웹 브라우저(118)를 통해 액세스될 수 있는 것으로 본 명세서에 기술되어 있지만, 프레젠테이션 도우미 응용 프로그램(102)은 프레젠테이션 도우미 응용 프로그램(102)을 요청하고 렌더링할 수 있는 다른 적당한 클라이언트 응용 프로그램의 사용을 통해서도 또한 액세스될 수 있다.
제1 서버 컴퓨터(110)는 본 명세서에 기술된 프레젠테이션 도우미 응용 프로그램(102)을 제공한다. 제2 서버 컴퓨터(112)는 클립아트 라이브러리(106)에 저장된 클립아트 이미지(104)와 기타 컨텐츠에 대한 액세스를 제공한다. 일 실시예에서, 클립아트 라이브러리(106)는 복수의 이미지와 복수의 대응하는 축소판 그림 이미지(이하 "축소판 그림"이라고 함) 또는 복수의 이미지의 다른 적당한 표현들을 저장하는 데이터베이스이다. 각각의 축소판 그림은 하나 이상의 검색어 및 URL과 연관될 수 있다. 각각의 URL은 주어진 축소판 그림에 대응하는 클립아트 이미지의 위치를 명시할 수 있다
제1 서버 컴퓨터(110) 및 제2 서버 컴퓨터(112) 각각은 운영 체제 및 하나 이상의 응용 프로그램들을 실행할 수 있는 표준의 컴퓨터 시스템을 포함한다. 상세하게는, 제1 서버 컴퓨터(110)는 프레젠테이션 도우미 응용 프로그램(102) 및 웹 서버 응용 프로그램(120)을 실행한다. 웹 서버 응용 프로그램(120)은 URL을 통해 프레젠테이션 도우미 응용 프로그램(102)에 액세스하는 것을 가능하게 해준다. 또한, 제2 서버 컴퓨터(112)는 URL을 통해 클립아트 라이브러리(106)에 저장된 클립아트 이미지(104) 및 기타 컨텐츠에 액세스할 수 있게 해주는 웹 서버 응용 프로그램(122)을 실행한다.
프레젠테이션 도우미 응용 프로그램(102)은 클립아트 인터페이스(124)를 포함한다. 일 실시예에서, 클립아트 인터페이스(124)는 프레젠테이션 도우미 응용 프로그램(102)에 의해 편집되는 프레젠테이션 문서에 삽입하기 위한 클립아트 라이브러리(106)에 저장된 클립아트 이미지(104)와 같은 클립아트 이미지들 중 하나를 사용자가 검색하고 선택할 수 있게 해주는 임의의 적당한 인터페이스이다. 상세하게는, 클립아트 인터페이스(124)는 사용자가 클립아트 이미지를 검색하기 위해 검색어를 입력할 수 있게 해줄 수 있다. 클립아트 인터페이스(124)는 검색어를 제2 서버 컴퓨터(112) 내의 검색 웹 서비스(126)로 전송한다. 일 실시예에서, 검색 웹 서비스(126)는 클립아트 라이브러리(106)에 저장된 축소판 그림을 검색하라는 요청을 수신하고 그 요청에 응답하도록 구성되어 있는 웹 서비스이다. 검색 웹 서비스(126)는 클립아트 라이브러리(106)의 빠르고 효율적인 검색을 수행하도록 최적화되어 있는 전용 웹 서비스일 수 있다.
검색어를 수신하게 되면, 검색 웹 서비스(126)는 대응하는 축소판 그림을 클립아트 인터페이스(124)로 전송하는 것으로 응답을 하고, 클립아트 인터페이스(124)는 축소판 그림을 사용자에게 디스플레이한다. 검색 웹 서비스(126)는 또한 각각의 축소판 그림에 대한 URL을 전송할 수도 있는데, 각각의 URL은 클립아트 라이브러리(106)에서의 대응하는 클립아트 이미지의 위치를 지정한다. 사용자는 축소판 그림들 중 하나를 선택하여, 대응하는 클립아트 이미지를 프레젠테이션 문서에 삽입할 수 있다. 일 실시예에서, 축소판 그림의 선택은 대응하는 클립아트 이미지를 프레젠테이션 문서에 삽입하라는 지시를 클립아트 인터페이스(124)로 곧바로 전송한다. 다른 실시예에서, 축소판 그림의 선택에 의해 클립아트 인터페이스(124)는 대응하는 클립아트 이미지에 관한 메타데이터 또는 기타 관련성있는 정보를 디스플레이하게 된다. 사용자는 이어서 선택된 축소판 그림 이미지에 대응하는 클립아트 이미지를 프레젠테이션 문서에 삽입하라는 지시를 클립아트 인터페이스(124)로 전송할 수 있다. 사용자는 마우스 또는 기타 적당한 입력 장치를 사용하여 축소판 그림들 중 하나를 선택할 수 있다.
프레젠테이션 문서에 클립아트 이미지를 삽입하기 위해서, 클립아트 인터페이스(124)는 클립아트 이미지에 대한 요청을 클립아트 검색 웹 서비스(128)로 보낸다. 상세하게는, 클립아트 인터페이스(124)는 선택한 축소판 그림과 연관된 URL을 클립아트 검색 웹 서비스(128)로 전송할 수 있다. 일 실시예에서, 클립아트 검색 웹 서비스(128)는 클립아트 라이브러리(106)로부터 클립아트 이미지를 검색하도록 구성된 웹 서비스이다. 웹 서비스는 또한 클립아트 이미지(104)와 같은 클립아트 이미지를 제1 서버 컴퓨터(110) 내의 수신기 웹 서비스(132)로 전송하도록 구성되어 있다.
클립아트 이미지(104)를 수신할 시에, 수신기 웹 서비스(132)는 클립아트 이미지(104)를 프레젠테이션 도우미 응용 프로그램(102) 내의 소비측 응용 프로그램(consuming application)(134)으로 전달한다. 일 실시예에서, 소비측 응용 프로그램(134)은 클립아트 이미지(104)를 프레젠테이션 도우미 응용 프로그램(102)에 의해 편집되는 프레젠테이션 문서에 삽입하도록 구성되어 있다. 소비측 응용 프로그램(134)은 클립아트 이미지(104)를 개체 틀(placeholder)[개체 틀은 클립아트 이미지(104)가 삽입되어야 할 슬라이드 상에서의 위치를 정의함]에 삽입할 수 있다. 일 실시예에서, 수신기 웹 서비스(132)는 또한 수신되는 클립아트 이미지(104)의 유효성을 검사함으로써, 악의적 코드가 수신될 가능성을 감소시킨다.
보안 이유로, 웹 브라우저는 제1 서버 컴퓨터(110) 및 제2 서버 컴퓨터(112)와 연관된 도메인들과 같은 서로 다른 도메인들 사이에서 행해진 요청들을 차단할 수도 있다. 예를 들면, 웹 브라우저(118)는 클립아트 인터페이스(124)에 의해 검색 웹 서비스(126)에 대해 행해진 검색 요청을 차단할 수도 있다. 웹 브라우저(118)는 또한 클립아트 인터페이스(124)에 의해 클립아트 검색 웹 서비스(128)에 대해 행해진 클립아트 검색 요청도 차단할 수 있다. 이러한 유형의 취약성은 교차 사이트 스크립팅(cross-site scripting)("XSS")이라고 하며 이 취약성이 해결되지 않는 경우 악의적으로 이용될 수 있다. 웹 브라우저(118)에 대한 XSS 보안 대책을 우회하기 위해서, 제1 서버 컴퓨터(110)와 제2 서버 컴퓨터(112) 사이의 모든 요청이 제1 서버 컴퓨터(110) 상의 프록시 웹 서비스(136)를 통해 이루어진다. 일 실시예에서, 프록시 웹 서비스(136)는 제1 서버 컴퓨터(110) 상에서 실행되는 응용 프로그램으로부터 요청을 수신하고 그 요청을 제2 서버 컴퓨터(112) 상에서 실행되는 응용 프로그램으로 라우팅하도록 구성되어 있는 웹 서비스이다. 프록시 웹 서비스(136)를 통해 요청을 라우팅함으로써, 웹 브라우저(118)에 구현된 XSS 보안 대책이 효과적으로 우회될 수 있다.
도 2 내지 도 4는 본 명세서에 제시된 다양한 실시예들에서 웹 브라우저(118)에 의해 제공되는 예시적인 스크린 디스플레이들을 보여주는 스크린 디스플레이도이다. 상세하게는, 도 2 내지 도 4는 프레젠테이션 도우미 응용 프로그램(102) 및 클립 아트 인터페이스(124)의 예시적인 구현을 나타낸 것이다. 다른 구현들이 당업자에 의해 안출될 수 있다는 것을 잘 알 것이다. 이제부터 도 2를 참조하여, 일 실시예에서 프레젠테이션 도우미 응용 프로그램(102)에 의해 제공되는 기능에 관한 추가적인 상세 사항이 스크린 디스플레이(200)를 참조하여 제시될 것이다. 스크린 디스플레이(200)는 웹 브라우저(118)에 의해 렌더링되는 프레젠테이션 도우미 응용 프로그램(102)의 예시적인 구현(202)을 나타낸 것이다. 상세하게는, 구현(202)은 프레젠테이션 문서 내에서 프레젠테이션 슬라이드(204)[이하, "슬라이드(204)"라고 함]를 생성하고 편집하는 사용자 인터페이스를 포함한다. 슬라이드(204)는 텍스트, 이미지, 오디오, 비디오 또는 이들의 조합(이들로 제한되지 않음)을 비롯한 거의 모든 유형의 멀티미디어 컨텐츠를 포함할 수 있다.
도 2에 도시된 바와 같이, 구현(202)은 슬라이드(204)에 다른 개체를 삽입하기 위해 사용자에 의해 선택될 수 있는 2개의 사용자 인터페이스 버튼(206A 및 206B)을 나타내고 있다. 다이어그램 삽입 버튼(diagram insert button)(206A)은 사용자가 다이어그램을 슬라이드(204)에 삽입할 수 있도록 해주며, 클립아트 삽입 버튼(clip art insert button)(206B)은 사용자가 클립아트 이미지를 슬라이드(204)에 삽입할 수 있도록 해준다. 슬라이드(204)에 다른 개체들을 삽입하는 추가적인 버튼들이 당업자에 의해 생각될 수 있으며 간단함을 위하여 도시되어 있지 않다. 일 실시예에서, 선택된 개체가 배치되는 슬라이드(204) 상의 위치를 정의하기 위해 개체 틀(208)이 제공된다. 다른 실시예에 따르면, 개체들이 개체 틀(208)을 사용하지 않고 슬라이드(204) 상의 어느 위치에라도 자유롭게 삽입될 수 있다.
예시된 일례에서, 사용자는 클립아트 삽입 버튼(206B)을 선택하여 개체 틀(208)의 위치에 클립아트 이미지를 위치시키는 프로세스를 시작한다. 예를 들면, 사용자는 마우스 커서(210) 또는 기타 적당한 사용자 입력 장치를 이용하여 클립아트 삽입 버튼(206B)을 선택할 수 있다. 클립아트 삽입 버튼(206B)을 선택하면, 프레젠테이션 도우미 응용 프로그램(102)은 클립아트 인터페이스(124)를 제공하게 되고, 이어서 클립아트 인터페이스(124)가 웹 브라우저(118)에 의해 렌더링된다.
이제부터 도 3a를 참조하여, 클립 아트 이미지를 슬라이드(204)에 삽입하는 하나의 프로세스에 관한 부가의 상세들에 대해 기술할 것이다. 상세하게는, 도 3a는 클립아트 삽입 버튼(206B)이 선택된 이후에 웹 브라우저(118)가 생성한 스크린 디스플레이(300)를 나타낸 것이다. 스크린 디스플레이(300)는 웹 브라우저(118)에 의해 렌더링되는 클립아트 인터페이스(124)의 예시적인 구현(302)을 나타낸 것이다. 구현(302)은 검색어 입력을 위한 검색 상자(304)를 포함한다. 구현(302)은 또한 클립아트 이미지의 특정 카테고리를 지정하기 위한 드롭다운 메뉴인 컬렉션 선택 메뉴(306)와 특정의 파일 유형을 지정하기 위한 드롭다운 메뉴인 미디어 유형 메뉴(308)도 포함한다. 당업자에 의해 생각되는 다른 검색 조건들도 포함될 수 있다.
도 3a에 나타낸 바와 같이, 사용자는 검색 상자(304)에 검색어 "car"를 입력하였다. 검색 상자(304)에 검색어 "car"를 입력하게 되면, 클립아트 인터페이스(124)는 검색어 "car"에 기초한 검색 요청을 프록시 웹 서비스(136)를 통해 검색 웹 서비스(126)로 전송한다. 검색 웹 서비스(126)는 검색어 "car"에 대응하는 클립아트 라이브러리(106)에 저장된 축소판 그림 이미지들에 대한 검색을 수행한다. 검색 웹 서비스(126)는 축소판 그림 이미지들은 물론 각각의 축소판 그림 이미지를 역시 클립아트 라이브러리(106)에 저장된 대응하는 클립아트 이미지들과 연관시키는 URL도 전송한다.
도 3a에 나타낸 바와 같이, 구현(302)은 검색 웹 서비스(126)로부터 4개의 축소판 그림(310A-310D)을 수신하고 축소판 그림(310A-310D)을 디스플레이 한다. 각각의 축소판 그림(310A-310D)은 검색 상자(304)에 입력된 검색어 "car"에 대응한다. 예시된 일례에서, 사용자는 개체 틀(208)의 위치에 삽입될 클립아트 이미지에 대응하는 축소판 그림(310A)을 선택한다. 예를 들면, 사용자는 마우스 커서(312) 또는 기타 적당한 사용자 입력 장치를 이용하여 축소판 그림(310A)을 선택할 수 있다.
축소판 그림(310A)을 선택하게 되면, 클립아트 인터페이스(124)는 축소판 그림(310A)과 연관된 URL에 기초하여 클립아트 이미지(104)와 같은 대응하는 클립아트 이미지를 클립아트 라이브러리(106)로부터 검색한다. 상세하게는, 클립아트 인터페이스(124)는 축소판 그림(310A)과 연관된 URL에 대응하는 클립아트 이미지(104)에 대한 요청을 프록시 웹 서비스(136)를 통해 클립아트 검색 웹 서비스(128)로 전송한다. 클립아트 검색 웹 서비스(128)는 클립아트 라이브러리(106)로부터 클립아트 이미지(104)를 검색하고 클립아트 이미지(104)를 수신기 웹 서비스(132)로 전송한다. 수신기 웹 서비스(132)는 클립아트 이미지(104)를 소비측 응용 프로그램(134)으로 전달하고, 소비측 응용 프로그램(134)은 클립아트 이미지(104)를 슬라이드(204) 상에서 개체 틀(208)의 위치에 배치한다.
이제부터 도 3b를 참조하여, 클립 아트 이미지를 슬라이드(204)에 삽입하는 다른 프로세스에 관한 부가의 상세들에 대해 기술할 것이다. 상세하게는, 도 3b는 웹 브라우저(118)가 렌더링하는 클립아트 인터페이스(124)의 다른 구현(320)을 나타낸 것이다. 구현(320)은 2개의 부분, 즉 검색 창(322)과 미리보기 창(324)을 포함한다. 검색 창(322)은 구현(302)과 본질적으로 동일한 특징들을 포함한다. 미리보기 창(324)은 클립아트 이미지(104)에 대응하는 축소판 그림(310A) 및 메타데이터(326)를 디스플레이한다. 다른 실시예들에서, 미리보기 창(324)은 축소판 그림(310A) 대신에 클립아트 이미지(104)나 다른 적당한 이미지를 디스플레이할 수 있다.
도 3b에서 나타낸 바와 같이, 메타데이터(326)는 해상도 정보(328), 크기(dimension) 정보(330), 파일 크기 정보(332), 및 키워드 정보(334)를 포함한다. 기타 메타데이터 및 임의의 다른 관련성있는 정보가 메타데이터(326)에 포함될 수 있다. 해상도 정보(328)는 클립아트 이미지(104)의 해상도를 나타낸다. 크기 정보(330)는 클립아트 이미지(104)의 크기를 나타낸다. 파일 크기 정보(332)는 클립아트 이미지(104)의 파일 크기를 나타낸다. 키워드 정보(334)는 클립아트 이미지(104)로 확인(resolve)되는 다른 검색어들을 나타낸다. 예를 들면, 키워드 정보(334)는 검색어 "car", "auto"와 "sedan"이 각각 각각 클립아트 이미지(104)로 확인된다는 것을 나타낸다.
도 3b에 나타낸 바와 같이, 사용자는 검색 상자(304)에 검색어 "car"를 입력하였다. 검색 상자(304)에 검색어 "car"를 입력하게 되면, 클립아트 인터페이스(124)는 검색어 "car"에 기초한 검색 요청을 프록시 웹 서비스(136)를 통해 검색 웹 서비스(126)로 전송한다. 검색 웹 서비스(126)는 검색어 "car"에 대응하는 클립아트 라이브러리(106)에 저장된 축소판 그림들에 대한 검색을 수행한다. 검색 웹 서비스(126)는 축소판 그림들은 물론 각각의 축소판 그림을 역시 클립아트 라이브러리(106)에 저장된 대응하는 클립아트 이미지들과 연관시키는 URL도 전송한다.
도 3b에 나타낸 바와 같이, 구현(302)은 검색 웹 서비스(126)로부터 4개의 축소판 그림(310A-310D)을 수신하고 축소판 그림(310A-310D)을 디스플레이 한다. 각각의 축소판 그림(310A-310D)은 검색 상자(304)에 입력된 검색어 "car"에 대응한다. 예시적인 일례에서, 사용자는 미리보기 창(324)에서 대응하는 클립아트 이미지(104)를 미리보기 위해 축소판 그림(310A)을 선택한다. 예를 들면, 사용자는 마우스 커서(312) 또는 기타 적당한 사용자 입력 장치를 사용하여 축소판 그림(310A)을 선택할 수 있다.
축소판 그림(310A)을 선택하게 되면, 클립아트 인터페이스(124)는 클립아트 이미지(104)에 대응하는 메타데이터(326)를 검색한다. 메타데이터(326)는 제2 서버 컴퓨터(112)가 제공하는 검색 웹 서비스(126)를 통해 클립아트 라이브러리(106)로부터 검색될 수 있다. 기타 적절한 데이터베이스들 및 웹 서비스들도 마찬가지로 이용될 수 있다. 미리보기 창(324)은 축소판 그림(310A) 및 메타데이터(326)를 디스플레이한다. 미리보기 창(324)을 볼 때, 사용자는 축소판 그림(310B, 310C, 310D)과 같은 다른 축소판 그림의 다른 메타데이터를 보기로 결정할 수 있다. 예를 들면, 사용자는 미리보기 창(324) 내의 축소판 그림(310B)에 대응하는 메타데이터를 보기 위해 축소판 그림(310B)을 선택할 수 있다.
다른 대안으로서, 삽입 버튼(336)을 선택함으로써, 사용자는 축소판 그림(310)에 대응하는 클립아트 이미지(104)를 개체 틀(208)의 위치에 삽입하기로 결정할 수 있다. 삽입 버튼(336)을 선택하게 되면, 클립아트 인터페이스(124)는 축소판 그림(310A)과 연관된 URL에 기초하여 클립아트 라이브러리(106)로부터 클립아트 이미지(104)를 검색한다. 상세하게는, 클립아트 인터페이스(124)는 축소판 그림(310A)과 연관된 URL에 대응하는 클립아트 이미지(104)에 대한 요청을 프록시 웹 서비스(136)를 통해 클립아트 검색 웹 서비스(128)로 전송한다. 클립아트 검색 웹 서비스(128)는 클립아트 라이브러리(106)로부터 클립아트 이미지(104)를 검색하고 클립아트 이미지(104)를 수신기 웹 서비스(132)로 전송한다. 수신기 웹 서비스(132)는 클립아트 이미지(104)를 소비측 응용 프로그램(134)으로 전달하고, 소비측 응용 프로그램(134)은 클립아트 이미지(104)를 슬라이드(204) 상에서 개체 틀(208)의 위치에 배치한다.
이제부터 도 4를 참조하여, 클립 아트 이미지를 슬라이드(204)에 삽입하는 하나의 프로세스에 관한 부가의 상세들에 대해 기술할 것이다. 상세하게는, 도 4는 축소판 그림(310A)에 대응하는 클립아트 이미지(104)의 삽입 이후에 브라우저(118)가 생성한 스크린 디스플레이(400)를 나타낸 것이다. 클립아트 이미지(104)는 슬라이드(204) 내에서 개체 틀(208)의 위치에 배치된다. 다른 대안으로서, 클립 아트 이미지(104)가 슬라이드(204) 내의 임의의 적당한 위치에 배치될 수 있다.
이제부터 도 5a 및 도 5b를 참조하여, 프레젠테이션 도우미 응용 프로그램을 통해 원격 클립아트 라이브러리로부터 클립아트 이미지를 검색하고 클립아트 이미지를 프레젠테이션 문서에 삽입하는 본 명세서에 제시된 실시예들에 관한 부가적인 상세들이 제공될 것이다. 본 명세서에 기술된 논리적 동작들이 (1) 컴퓨팅 시스템 상에서 실행되는 일련의 컴퓨터-구현 동작들 또는 프로그램 모듈들로서 및/또는 (2) 컴퓨팅 시스템 내의 상호연결된 기계 논리 회로들 또는 회로 모듈들로서 구현된다는 것을 잘 알 것이다. 이 구현은 컴퓨팅 시스템의 성능 및 기타 요구사항들에 따른 선택의 문제이다. 그에 따라, 본 명세서에 기술된 논리적 동작들이 상태, 동작, 구조적 장치, 행동 또는 모듈이라고 다양하게 말해진다. 이들 동작, 구조적 장치, 행동 및 모듈이 소프트웨어로, 펌웨어로, 특수 목적의 디지털 논리로, 또한 이들의 임의의 조합으로 구현될 수 있다. 도면들에 도시되고 본 명세서에 기술된 것보다 더 많거나 더 적은 수의 동작들이 수행될 수 있다는 것을 잘 알 것이다. 이들 동작은 또한 본 명세서에 기술된 것과 다른 순서로 수행될 수 있다.
도 5a를 참조하면, 루틴(500)은 제1 서버 컴퓨터(110) 내의 클립아트 인터페이스(124)가 사용자로부터 검색어를 수신하는 동작(502)에서 시작된다. 검색어를 수신하게 되면, 동작(504)에서, 클립아트 인터페이스(124)는 검색어에 대응하는 축소판 그림에 대한 요청을 제2 서버 컴퓨터(112) 내의 검색 웹 서비스(126)로 전송한다. 일 실시예에서, 축소판 그림에 대한 요청은 웹 브라우저(118)의 XSS 보안 대책을 우회하기 위하여 프록시 웹 서비스(136)를 통해 보내진다.
루틴(500)은 검색 웹 서비스(126)가 축소판 그림에 대한 요청을 수신하고 클립아트 라이브러리(106)로부터 검색어에 대응하는 축소판 그림을 검색하는 동작(506)으로 진행한다. 검색 웹 서비스(126)는 또한 각각의 축소판 그림에 대응하는 URL을 수신한다. 각각의 URL은 주어진 축소판 그림에 대응하는 클립아트 이미지가 위치하는 클립아트 라이브러리(106)에서의 위치를 지정한다. 관련성있는 축소판 그림 및 URL을 검색하게 되면, 동작(508)에서, 검색 웹 서비스(126)는 축소판 그림 및 URL을 클립아트 인터페이스(124)로 전송한다.
루틴(500)은 클립아트 인터페이스(124)가 축소판 그림을 디스플레이하는 동작(510)으로 진행한다. 사용자는 클립아트 이미지에 대응하는 메타데이터를 미리보기 위하여 클립아트 이미지를 선택할 수도 있다. 동작(512)에서, 클립아트 인터페이스(124)는 사용자로부터 축소판 그림들 중 하나의 선택을 수신한다. 축소판 그림들 중 하나의 선택을 수신하게 되면, 동작(514)에서, 클립아트 인터페이스(124)는 선택된 축소판 그림에 대응하는 메타데이터에 대한 요청을 클립아트 라이브러리(106) 또는 다른 적당한 데이터베이스로 전송한다. 예를 들면, 그 요청은 검색 웹 서비스(126) 또는 다른 적당한 웹 서비스를 통해 이루어질 수 있다. 검색 웹 서비스(126)는, 동작(516)에서, 클립아트 라이브러리(106)로부터 요청된 메타데이터를 검색한다.
루틴은 검색 웹 서비스(126)가 요청된 메타데이터를 클립아트 인터페이스(124)로 전송하는 도 5b의 동작(518)으로 진행한다. 클립아트 인터페이스(124)는, 동작(520)에서, 요청된 메타데이터를 사용자에게 디스플레이한다. 선택한 축소판 그림에 대응하는 메타데이터를 본 후에, 동작(522)에서, 사용자는 선택된 축소판 그림에 대응하는 클립아트 이미지를 프레젠테이션 문서에 삽입하도록 요청할 수 있다. 선택된 축소판 그림에 대응하는 클립아트 이미지를 삽입하라는 요청을 수신하게 되면, 동작(524)에서, 클립아트 인터페이스(124)는 선택된 축소판 그림에 대응하는 클립아트 이미지를 검색하라는 요청을 제2 서버 컴퓨터(112) 내의 클립아트 검색 웹 서비스(128)로 전송한다. 상세하게는, 클립아트 인터페이스(124)는 선택된 축소판 그림과 연관된 URL을 전송한다.
루틴(500)은 클립아트 검색 웹 서비스(128)가 URL을 수신하고 클립아트 라이브러리(106)로부터 URL에 대응하는 클립아트 이미지를 검색하는 동작(526)으로 진행한다. 클립아트 이미지를 검색하게 되면, 동작(528)에서, 클립아트 검색 웹 서비스(128)는 클립아트 이미지를 제1 서버 컴퓨터(110) 내의 수신기 웹 서비스(132)로 전송한다. 수신기 웹 서비스(132)는 클립아트 이미지를 소비측 응용 프로그램(134)으로 전달하는데, 소비측 응용 프로그램(134)은 530에서 클립아트 이미지를 프레젠테이션 문서에 삽입한다. 예를 들면, 소비측 응용 프로그램(134)은 사용자가 지정한 개체 틀(208)과 같은 개체 틀에 클립아트 이미지를 배치할 수 있다.
이제 도 6을 참조하면, 컴퓨터(600)의 측면들을 보여주는 예시적인 컴퓨터 아키텍처도가 예시되어 있다. 컴퓨터(600)는 처리 장치(CPU)(602), 시스템 메모리(604), 및 메모리(604)를 CPU(602)에 연결시키는 시스템 버스(606)를 포함하고 있다. 컴퓨터(600)는 하나 이상의 프로그램 모듈들(614) 및 하나 이상의 데이터베이스들(616)을 저장하는 대용량 저장 장치(612)를 더 포함하고 있다. 프로그램 모듈(614)의 일례들로는 프레젠테이션 도우미 응용 프로그램(102) 및 웹 서버 응용 프로그램(120)이 있다. 대용량 저장 장치(612)는 버스(606)에 연결된 대용량 저장장치 제어기(도시 생략)를 통해 CPU(602)에 연결되어 있다. 대용량 저장 장치(612) 및 그와 연관된 컴퓨터-판독가능 매체는 컴퓨터(600)에 대한 비휘발성 저장을 제공한다. 본 명세서에 포함된 컴퓨터-판독가능 매체에 대한 설명이 하드 디스크 또는 CD-ROM 드라이브 등의 대용량 저장 장치를 언급하고 있지만, 당업자라면 컴퓨터-판독가능 매체가 컴퓨터(600)에 의해 액세스될 수 있는 이용가능한 컴퓨터 저장 매체라면 어느 것이라도 될 수 있다는 것을 잘 알 것이다.
제한이 아닌 예로서, 컴퓨터-판독가능 매체는 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등의 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 예를 들어, 컴퓨터-판독가능 매체로는 RAM, ROM, EPROM, EEPROM, 플래쉬 메모리 또는 기타 고상 메모리(solid state memory) 기술, CD-ROM, DVD(digital versatile disks), HD-DVD, BLU-RAY, 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 또 컴퓨터(600)에 의해 액세스될 수 있는 임의의 다른 매체가 있지만, 이들로 제한되지 않는다.
다양한 실시예들에 따르면, 컴퓨터(600)는 네트워크(114) 등의 네트워크(618)를 통한 원격 컴퓨터들로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 컴퓨터(600)는 버스(606)에 연결된 네트워크 인터페이스 유닛(610)을 통해 네트워크(618)에 연결할 수 있다. 네트워크 인터페이스 유닛(610)이 또한 기타 유형의 네트워크들 및 원격 컴퓨터 시스템들에 연결하는 데도 이용될 수 있다는 것을 잘 알 것이다. 컴퓨터(600)는 또한 키보드, 마우스, 마이크 및 게임 컨트롤러를 비롯한 다수의 입력 장치들(도시 생략)로부터 입력을 수신하여 처리하는 입/출력 제어기(608)도 포함할 수 있다. 이와 유사하게, 입/출력 제어기(608)는 디스플레이 또는 기타 유형의 출력 장치(도시 생략)에 출력을 제공할 수 있다.
이상의 내용에 기초하여, 웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 기술들이 본 명세서에 제시되어 있다는 것을 잘 알 것이다. 본 명세서에 제시된 발명 대상이 컴퓨터의 구조적 특징들, 방법적 동작들 및 컴퓨터 판독가능 매체에 특화된 언어로 기술되어 있지만, 첨부된 특허청구범위에 한정되어 있는 본 발명이 본 명세서에 기술된 특정의 특징들, 동작들 또는 매체로 반드시 제한되는 것은 아니라는 것을 잘 알 것이다. 오히려, 특정의 특징들, 동작들 및 매체들은 청구항들을 구현하는 예시적인 형태로서 개시되어 있다.
상기한 발명 대상이 단지 예시로서 제공된 것이며 제한하는 것으로 해석되어서는 안된다. 도시되고 기술된 예시적인 실시예들 및 응용들을 따르지 않고 또 이하의 특허청구범위에 기술되어 있는 본 발명의 진정한 사상 및 범위를 벗어나지 않으면서, 본 명세서에 기술된 발명 대상에 다양한 수정들 및 변경들이 행해질 수 있다.

Claims (20)

  1. 웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 방법으로서,
    제1 서버 컴퓨터에서, 네트워크를 통해 클라이언트 컴퓨터로부터 상기 멀티미디어 파일에 대한 요청을 수신하는 단계- 상기 클라이언트 컴퓨터는 웹 브라우저를 통해 상기 웹-기반 데스크탑 생산성 응용 프로그램을 디스플레이하도록 구성됨 -,
    상기 멀티미디어 파일에 대한 요청이 수신되면, 상기 멀티미디어 파일에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 제2 서버 컴퓨터로 전송하는 단계- 상기 멀티미디어 파일에 대한 요청은 상기 제1 서버 컴퓨터에서 실행되는 프록시 웹 서비스를 통해 전송되고, 상기 프록시 웹 서비스는 상기 웹 브라우저에 대한 교차 사이트 스크립팅 보안 대책(cross-site scripting security measures)을 우회하도록 구성됨 -,
    상기 제1 서버 컴퓨터에서, 상기 멀티미디어 파일에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 멀티미디어 파일을 수신하는 단계- 상기 제1 서버 컴퓨터에서, 상기 멀티미디어 파일에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 멀티미디어 파일을 수신하는 단계는 상기 제1 서버 컴퓨터에서, 상기 제1 서버 컴퓨터상에서 실행되는 수신기 웹 서비스에서 상기 멀티미디어 파일을 수신하는 단계를 포함하고, 상기 수신기 웹 서비스는 상기 멀티미디어 파일을 문서에 삽입하기 위해 상기 웹-기반 데스크탑 생산성 응용 프로그램에 전달하도록 구성되고, 상기 웹-기반 데스크탑 생산성 응용 프로그램은 상기 멀티미디어 파일을 상기 문서 내의 개체 틀(placeholder)에 삽입하고, 상기 개체 틀은 상기 클라이언트 컴퓨터에 의해 지정됨 -, 및
    상기 제1 서버 컴퓨터에서, 상기 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 상기 멀티미디어 파일을 삽입하는 단계
    를 포함하는 멀티미디어 파일 삽입 방법.
  2. 제1항에 있어서,
    상기 멀티미디어 파일은 클립아트 이미지를 포함하고, 상기 제2 서버 컴퓨터는 클립아트 라이브러리를 포함하는
    멀티미디어 파일 삽입 방법.
  3. 제1항에 있어서,
    상기 제1 서버 컴퓨터에서, 상기 네트워크를 통해 상기 클라이언트 컴퓨터로부터 상기 멀티미디어 파일에 대한 요청을 수신하는 단계는,
    상기 제1 서버 컴퓨터에서, 상기 네트워크를 통해 상기 클라이언트 컴퓨터로부터 검색어를 수신하는 단계,
    상기 검색어가 수신되면, 상기 검색어에 대응하는 표현들(representations)에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하는 단계 - 상기 표현들에 대한 요청은 상기 프록시 웹 서비스를 통해 전송됨 -,
    상기 제1 서버 컴퓨터에서, 상기 표현들에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 표현들을 수신하는 단계, 및
    상기 표현들을 디스플레이하는 단계
    를 포함하는 멀티미디어 파일 삽입 방법.
  4. 제3항에 있어서,
    상기 검색어에 대응하는 표현들에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하는 단계는, 상기 검색어에 대응하는 멀티미디어 필드의 표현들에 대한 요청을 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터에서의 검색 웹 서비스로 전송하는 단계를 포함하고, 상기 검색 웹 서비스는 상기 표현들을 검색하는 전용 웹 서비스를 포함하는
    멀티미디어 파일 삽입 방법.
  5. 제3항에 있어서,
    상기 표현들은 축소판 그림 이미지들(thumbnail images)을 포함하는
    멀티미디어 파일 삽입 방법.
  6. 제3항에 있어서,
    상기 제1 서버 컴퓨터에서, 상기 네트워크를 통해 상기 클라이언트 컴퓨터로부터 상기 멀티미디어 파일에 대한 요청을 수신하는 단계는, 상기 제1 서버 컴퓨터에서, 상기 표현들이 디스플레이되면 상기 표현들 중 하나의 선택을 수신하는 단계를 포함하는
    멀티미디어 파일 삽입 방법.
  7. 제6항에 있어서,
    상기 표현들 각각은 URL(uniform resource locator)과 연관되어 있고, 각각의 URL은 상기 표현에 대응하는 상기 멀티미디어 파일의 위치를 지정하는
    멀티미디어 파일 삽입 방법.
  8. 제7항에 있어서,
    상기 멀티미디어 파일에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하는 단계는, 선택된 상기 표현에 대응하는 URL을 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터에서의 파일 검색 웹 서비스로 전송하는 단계를 포함하고, 상기 파일 검색 웹 서비스는 상기 멀티미디어 파일을 검색하는 전용 웹 서비스를 포함하는
    멀티미디어 파일 삽입 방법.
  9. 제1항에 있어서,
    상기 네트워크는 기업 네트워크를 포함하는
    멀티미디어 파일 삽입 방법.
  10. 웹-기반 데스크탑 생산성 응용 프로그램을 통해 멀티미디어 파일을 삽입하는 방법으로서,
    제1 서버 컴퓨터에서, 네트워크를 통해 클라이언트 컴퓨터로부터 검색어를 수신하는 단계,
    상기 검색어가 수신되면, 상기 검색어에 대응하는 표현들에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 제2 서버 컴퓨터로 전송하는 단계 - 상기 표현들에 대한 요청은 상기 제1 서버 컴퓨터에서 실행되는 프록시 웹 서비스를 통해 전송되고, 상기 프록시 웹 서비스는 웹 브라우저에 대한 교차 사이트 스크립팅 보안 대책을 우회하도록 구성되며, 상기 표현들 각각은 URL과 연관되어 있고, 각각의 URL은 상기 표현에 대응하는 상기 멀티미디어 파일의 위치를 지정함 -,
    상기 제1 서버 컴퓨터에서, 상기 표현에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 표현들을 수신하는 단계,
    상기 웹-기반 데스크탑 생산성 응용 프로그램을 통해 상기 표현들을 디스플레이하는 단계,
    상기 제1 서버 컴퓨터에서, 상기 표현들이 디스플레이되면 상기 클라이언트 컴퓨터로부터 상기 표현들 중 하나의 선택을 상기 네트워크를 통해 수신하는 단계,
    상기 표현들 중 하나의 상기 선택이 수신되면 선택된 상기 표현에 대응하는 상기 멀티미디어 파일에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하는 단계- 상기 멀티미디어 파일에 대한 요청은 상기 프록시 웹 서비스를 통해 전송됨 -,
    상기 제1 서버 컴퓨터에서, 상기 멀티미디어 파일에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 멀티미디어 파일을 수신하는 단계, 및
    상기 제1 서버 컴퓨터에서, 상기 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 상기 멀티미디어 파일을 삽입하는 단계
    를 포함하되,
    상기 멀티미디어 파일에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하는 단계는 선택된 상기 표현에 대응하는 URL을 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터에서의 파일 검색 웹 서비스로 전송하는 단계를 포함하고, 상기 파일 검색 웹 서비스는 상기 멀티미디어 파일을 검색하는 전용 웹 서비스를 포함하는,
    멀티미디어 파일 삽입 방법.
  11. 제10항에 있어서,
    상기 멀티미디어 파일은 클립아트 이미지를 포함하고, 상기 제2 서버 컴퓨터는 클립아트 라이브러리를 포함하는
    멀티미디어 파일 삽입 방법.
  12. 제11항에 있어서,
    상기 표현들은 축소판 그림 이미지들을 포함하는
    멀티미디어 파일 삽입 방법.
  13. 제10항에 있어서,
    상기 웹-기반 데스크탑 생산성 응용 프로그램은 웹-기반 워드프로세싱 응용 프로그램, 웹-기반 스프레드시트 응용 프로그램, 또는 웹-기반 프레젠테이션 응용 프로그램을 포함하는
    멀티미디어 파일 삽입 방법.
  14. 컴퓨터 실행가능 명령어들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 실행가능 명령어들은 컴퓨터에 의해 실행되는 경우 상기 컴퓨터로 하여금,
    제1 서버 컴퓨터에서, 네트워크를 통해 클라이언트 컴퓨터로부터 검색어를 수신하고- 상기 클라이언트 컴퓨터는 웹-기반 데스크탑 생산성 응용 프로그램을 디스플레이하는 웹 브라우저를 실행함 -,
    상기 검색어가 수신되면, 상기 검색어에 대응하는 축소판 그림 이미지들에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 제2 서버 컴퓨터로 전송하고 - 상기 축소판 그림 이미지들에 대한 요청은 상기 제1 서버 컴퓨터에서 실행되는 프록시 웹 서비스를 통해 전송되고, 상기 프록시 웹 서비스는 상기 웹 브라우저에 대한 교차 사이트 스크립팅 보안 대책을 우회하도록 구성됨-,
    상기 제1 서버 컴퓨터에서, 상기 축소판 그림 이미지들에 대한 요청이 전송되면 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 상기 축소판 그림 이미지들을 수신하고,
    상기 웹-기반 데스크탑 생산성 응용 프로그램을 통해 상기 축소판 그림 이미지들을 디스플레이하고,
    상기 제1 서버 컴퓨터에서, 상기 축소판 그림 이미지들이 디스플레이되면 상기 클라이언트 컴퓨터로부터 상기 축소판 그림 이미지들 중 하나의 선택을 상기 네트워크를 통해 수신하고,
    상기 축소판 그림 이미지들 중 하나의 상기 선택이 수신되면, 클립아트 이미지에 대응하는 메타데이터에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하고- 상기 클립아트 이미지는 선택된 상기 축소판 그림 이미지에 대응하고, 상기 메타데이터에 대한 요청은 상기 프록시 웹 서비스를 통해 전송되며, 상기 축소판 그림 이미지들 각각은 URL과 연관되어 있고, 각각의 URL은 상기 축소판 그림 이미지에 대응하는 상기 클립아트 이미지의 위치를 지정함 -
    상기 선택된 축소판 그림 이미지에 대응하는 클립아트 이미지에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하고- 상기 컴퓨터 실행가능 명령어들은 컴퓨터에 의해 실행되는 경우 상기 컴퓨터로 하여금 상기 선택된 축소판 그림 이미지에 대응하는 URL을 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터에서의 파일 검색 웹 서비스에 전송하게 하고, 상기 파일 검색 웹 서비스는 상기 클립아트 이미지를 검색하는 전용 웹 서비스를 포함함 -,
    상기 제1 서버 컴퓨터에서, 상기 메타데이터에 대한 요청이 전송되면 상기 메타데이터를 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 수신하고,
    상기 웹-기반 데스크탑 생산성 응용 프로그램을 통해 상기 메타데이터를 디스플레이하고,
    상기 제1 서버 컴퓨터에서, 상기 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 문서에 상기 클립아트 이미지를 삽입하라는 명령어를 상기 네트워크를 통해 상기 클라이언트 컴퓨터로부터 수신하고,
    상기 명령어가 수신되면 상기 클립아트 이미지에 대한 요청을 상기 네트워크를 통해 상기 제1 서버 컴퓨터로부터 상기 제2 서버 컴퓨터로 전송하고,
    상기 제1 서버 컴퓨터에서, 상기 클립아트 이미지에 대한 요청이 전송되면 상기 클립아트 이미지를 상기 네트워크를 통해 상기 제2 서버 컴퓨터로부터 수신하며, 및
    상기 제1 서버 컴퓨터에서, 상기 웹-기반 데스크탑 생산성 응용 프로그램에 의해 편집되는 상기 문서에 상기 클립아트 이미지를 삽입하게 하는
    컴퓨터 판독가능 저장 매체.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020107022595A 2008-04-14 2009-03-16 웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입 KR101625238B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/102,857 2008-04-14
US12/102,857 US8078693B2 (en) 2008-04-14 2008-04-14 Inserting a multimedia file through a web-based desktop productivity application
PCT/US2009/037225 WO2009129009A1 (en) 2008-04-14 2009-03-16 Inserting a multimedia file through a web-based desktop productivity application

Publications (2)

Publication Number Publication Date
KR20100139012A KR20100139012A (ko) 2010-12-31
KR101625238B1 true KR101625238B1 (ko) 2016-05-30

Family

ID=41164874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107022595A KR101625238B1 (ko) 2008-04-14 2009-03-16 웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입

Country Status (11)

Country Link
US (1) US8078693B2 (ko)
EP (1) EP2291813A4 (ko)
JP (1) JP4967073B2 (ko)
KR (1) KR101625238B1 (ko)
CN (1) CN102007509B (ko)
AU (1) AU2009236553B2 (ko)
BR (1) BRPI0909091A2 (ko)
CA (1) CA2717345C (ko)
RU (1) RU2491635C2 (ko)
TW (1) TWI379233B (ko)
WO (1) WO2009129009A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8188739B2 (en) * 2006-12-15 2012-05-29 Hitachi Medical Corporation Nuclear magnetic resonance imaging apparatus
JP5173594B2 (ja) * 2008-05-27 2013-04-03 キヤノン株式会社 管理装置、画像形成装置及びそれらの処理方法
AU2010305306A1 (en) * 2009-10-05 2012-05-24 Fabtale Productions Pty Ltd Interactive electronic document
US8375328B2 (en) * 2009-11-11 2013-02-12 Google Inc. Implementing customized control interfaces
US9390172B2 (en) 2009-12-03 2016-07-12 Microsoft Technology Licensing, Llc Communication channel between web application and process outside browser
TWI468948B (zh) * 2009-12-15 2015-01-11 Hon Hai Prec Ind Co Ltd 電子設備及其資料傳送方法
US8392832B2 (en) * 2010-02-05 2013-03-05 Research In Motion Limited Display placeholders for rich media content
JP5906677B2 (ja) * 2010-11-08 2016-04-20 ブラザー工業株式会社 通信システム、通信装置、中継装置の制御プログラム、および中継装置の制御方法
JP5120443B2 (ja) * 2010-11-26 2013-01-16 コニカミノルタビジネステクノロジーズ株式会社 文書作成システム、文書作成方法、画像処理装置及び文書作成処理プログラム
US10192199B2 (en) * 2011-11-16 2019-01-29 Microsoft Technology Licensing, Llc Enabling service features within productivity applications
US9195660B2 (en) 2011-11-28 2015-11-24 International Business Machines Corporation Contextual search for modeling notations
CN103324625A (zh) * 2012-03-21 2013-09-25 宇龙计算机通信科技(深圳)有限公司 插入网络资源的方法及其通信终端
JP6174137B2 (ja) * 2012-06-25 2017-08-02 グーグル インコーポレイテッド 埋め込み可能なメディアアップロードオブジェクト
US9178746B2 (en) 2012-07-03 2015-11-03 Google Inc. Browser-based fetch of external libraries
KR20140108995A (ko) * 2013-03-04 2014-09-15 삼성전자주식회사 페이지의 일부 영역을 이용한 데이터 처리 방법 및 장치
US20140324947A1 (en) * 2013-03-15 2014-10-30 Michael T. McKay Method and system for digitally clipping and transferring content
CN103617155A (zh) * 2013-12-13 2014-03-05 苏州利驰电子商务有限公司 一种web下dwg文件的在线批注方法及系统
US10140314B2 (en) * 2015-08-21 2018-11-27 Adobe Systems Incorporated Previews for contextual searches
US10169374B2 (en) * 2015-08-21 2019-01-01 Adobe Systems Incorporated Image searches using image frame context
CN108089887B (zh) * 2016-11-18 2021-05-18 阿里巴巴集团控股有限公司 一种新增页面的启动控制方法及装置
US10846328B2 (en) * 2017-05-18 2020-11-24 Adobe Inc. Digital asset association with search query data
CN110390087A (zh) * 2018-04-20 2019-10-29 成都野望数码科技有限公司 一种应用于演示文稿的图像处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282759A1 (en) 2005-06-13 2006-12-14 Microsoft Corporation Adding an arbitrary number of placeholders to a custom layout

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3474961B2 (ja) * 1995-04-07 2003-12-08 シャープ株式会社 文書情報処理装置
US6678738B2 (en) * 1997-06-19 2004-01-13 International Business Machines Corporation Web server providing html pages embedded with non-HTML views
US7266761B2 (en) * 1999-06-15 2007-09-04 Microsoft Corporation Special API interface for interfacing an application with a TWAIN module, negotiating and presenting a user interface for inserting an image into a document
WO2001041399A2 (en) * 1999-12-03 2001-06-07 Digital Pipe, Inc. Method for providing streaming media data in a network-based environment
US6859909B1 (en) * 2000-03-07 2005-02-22 Microsoft Corporation System and method for annotating web-based documents
US7089504B1 (en) * 2000-05-02 2006-08-08 Walt Froloff System and method for embedment of emotive content in modern text processing, publishing and communication
EP1170672A1 (de) 2000-07-04 2002-01-09 OKS GmbH Automatische Erstellung von Publishing-Dokumenten über das Internet
US6760043B2 (en) * 2000-08-21 2004-07-06 Intellocity Usa, Inc. System and method for web based enhanced interactive television content page layout
US6931603B2 (en) * 2001-11-29 2005-08-16 International Business Machines Corporation Method and system for appending information to graphical files stored in specific graphical file formats
US8091018B2 (en) * 2002-06-13 2012-01-03 Microsoft Corporation Method and system for creating and implementing dynamic graphic media
JP2005534102A (ja) * 2002-07-23 2005-11-10 サムスン エレクトロニクス カンパニー リミテッド メタデータのインデックス構造と記録媒体
JP4369494B2 (ja) * 2002-12-12 2009-11-18 シャープ株式会社 マルチメディアデータ処理装置およびマルチメディアデータ処理プログラム
TW556572U (en) * 2003-01-07 2003-10-01 Sportek Ind Co Ltd Improved lifting and folding mechanism for running machine
DE10325998A1 (de) * 2003-06-07 2004-12-30 Hurra Communications Gmbh Verfahren zum Optimieren eines auf eine erste Netzwerkseite verweisenden Verweises
US7266557B2 (en) * 2003-06-25 2007-09-04 International Business Machines Corporation File retrieval method and system
US9508046B2 (en) * 2003-07-22 2016-11-29 Hewlett-Packard Development Company, L.P. Methods and systems for providing web content to a printing device
JP3922372B2 (ja) * 2003-07-28 2007-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書処理装置、およびプログラム
US20050102612A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Web-enabled XML editor
US20060035627A1 (en) * 2004-07-13 2006-02-16 Mukesh Prasad Wireless distribution-point content insertion
US7853564B2 (en) * 2004-09-17 2010-12-14 Adobe Systems Incorporated Adding metadata to a stock content item
US8112548B2 (en) * 2004-09-28 2012-02-07 Yahoo! Inc. Method for providing a clip for viewing at a remote device
US7769819B2 (en) * 2005-04-20 2010-08-03 Videoegg, Inc. Video editing with timeline representations
US20060253411A1 (en) * 2005-05-05 2006-11-09 International Business Machines Corporation Method, system and program product for inserting visual controls for data values in web content from a legacy web application without rewriting the legacy web application
EP1894388A1 (en) * 2005-06-24 2008-03-05 Nokia Corporation Method, system, device and program for transmission of multimedia data
KR100810246B1 (ko) * 2006-02-24 2008-03-06 삼성전자주식회사 휴대용 단말기에서 멀티미디어 메시지 수신 방법
KR100861052B1 (ko) 2006-07-27 2008-09-30 (주)누보커뮤니케이션즈 웹브라우저상에서 동작하는 웹 어플리케이션의 제공 방법및 그 기록매체
US8584232B2 (en) * 2007-04-23 2013-11-12 Sap Ag Enhanced cross-site attack prevention
US20080281686A1 (en) * 2007-05-08 2008-11-13 Chris Houtzer Dynamic content insertion method and system
US20090063274A1 (en) * 2007-08-01 2009-03-05 Dublin Iii Wilbur Leslie System and method for targeted advertising and promotions using tabletop display devices
TW200915877A (en) * 2007-09-28 2009-04-01 D Link Corp Method of transmitting real-time network image
US8019884B2 (en) * 2007-12-27 2011-09-13 International Business Machines Corporation Proxy content for submitting web service data in the user's security context

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060282759A1 (en) 2005-06-13 2006-12-14 Microsoft Corporation Adding an arbitrary number of placeholders to a custom layout

Also Published As

Publication number Publication date
KR20100139012A (ko) 2010-12-31
AU2009236553A1 (en) 2009-10-22
EP2291813A4 (en) 2011-10-12
CA2717345A1 (en) 2009-10-22
TW200943183A (en) 2009-10-16
CN102007509A (zh) 2011-04-06
JP4967073B2 (ja) 2012-07-04
RU2010141994A (ru) 2012-04-20
RU2491635C2 (ru) 2013-08-27
EP2291813A1 (en) 2011-03-09
BRPI0909091A2 (pt) 2015-09-29
CN102007509B (zh) 2014-05-07
WO2009129009A1 (en) 2009-10-22
JP2011517828A (ja) 2011-06-16
US20090259731A1 (en) 2009-10-15
CA2717345C (en) 2016-06-21
TWI379233B (en) 2012-12-11
AU2009236553B2 (en) 2014-06-05
US8078693B2 (en) 2011-12-13

Similar Documents

Publication Publication Date Title
KR101625238B1 (ko) 웹-기반 데스크탑 생산성 응용 프로그램을 통한 멀티미디어 파일의 삽입
JP6207519B2 (ja) 文書コラボレーション
KR102121626B1 (ko) 네트워크 스토리지 서비스에서 어플리케이션과 파일타입의 관련
US8533238B2 (en) Sharing information about a document across a private computer network
KR101477763B1 (ko) 원격 모듈용 메시지 목록
CN102165430B (zh) 由单组因特网主控机器提供的多个并行用户体验
US20080168340A1 (en) Method of Efficiently Managing File Location Awareness for Client Applications
US20070162459A1 (en) System and method for creating searchable user-created blog content
JP2009541822A (ja) 検索早期警告
US7599936B2 (en) Publication service using web pages and web search engines
US20100318554A1 (en) Content mesh searching
WO2006076660A2 (en) Systems and methods for sharing loops
US20110270816A1 (en) Information Exploration
US20060036572A1 (en) Method and system to control access to content accessible via a network
Davis Archiving the Web: A Case Study from the University of Victoria
US10176152B2 (en) Method and system for assigning a content item as a link target to a managed object
US20080270566A1 (en) System and method of hosting or publishing of content
US11080238B2 (en) System and method for interactive visual representation of metadata within a networked heterogeneous workflow environment
US8103668B2 (en) Search control and authoring environment
KR20160132854A (ko) 콘텐츠의 캡처를 통한 자산 수집 서비스 제공 기법

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
FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 4