KR102073535B1 - 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법 - Google Patents

생산성 애플리케이션 내의 서비스 피처 인에이블링 기법 Download PDF

Info

Publication number
KR102073535B1
KR102073535B1 KR1020197029565A KR20197029565A KR102073535B1 KR 102073535 B1 KR102073535 B1 KR 102073535B1 KR 1020197029565 A KR1020197029565 A KR 1020197029565A KR 20197029565 A KR20197029565 A KR 20197029565A KR 102073535 B1 KR102073535 B1 KR 102073535B1
Authority
KR
South Korea
Prior art keywords
service
feature
user
productivity
features
Prior art date
Application number
KR1020197029565A
Other languages
English (en)
Other versions
KR20190118677A (ko
Inventor
제니퍼 후이-니 황
매튜 엑크스타인
샘 프랑클린 윌리엄스 Iii
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 KR20190118677A publication Critical patent/KR20190118677A/ko
Application granted granted Critical
Publication of KR102073535B1 publication Critical patent/KR102073535B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)

Abstract

본원에는 프로그램 애플리케이션내에서 피처(features)를 향상시키는 시스템, 방법 및 소프트웨어가 설명된다. 일 실시예로, 생산성 애플리케이션과 연관된 사용자가 식별되고, 상기 사용자와 연관된 서비스 애플리케이션도 식별된다. 서비스에 대응하는 서비스 피처가 생산성 애플리케이션내에서 인에이블(enabled)된다. 서비스 피처는 사용자로 하여금 상기 서비스와 연관된 생산성 애플리케이션에 의해 생성된 콘텐츠에 대해 기능을 수행하게 한다.

Description

생산성 애플리케이션 내의 서비스 피처 인에이블링 기법{ENABLING SERVICE FEATURES WITHIN PRODUCTIVITY APPLICATIONS}
본 개시물의 양상들은 컴퓨터 소프트웨어 애플리케이션과 관련있으며, 특히 생산성 애플리케이션(productivity applications)과 온라인 서비스의 향상된 통합(integration)과 관련이 있다.
컴퓨터 하드웨어 및 소프트웨어 분야에서, 생상선 애플리케이션은 일반적으로 콘텐츠를 생산하고 그 콘텐츠에 대한 기능을 수행하는데 이용되는 소프트웨어 프로그램 또는 애플리케이션으로 이해된다. 생산성 애플리케이션의 일반적인 예로서, 오피스 생산성 스위트(office productivity suite), 회계 소프트웨어(accounting software), 그래픽 애플리케이션 및 그 밖의 공지된 프로그램을 들 수 있고, 콘텐츠의 일반적인 예로는 워드 프로세싱 문서, 스프레드시트, 데이터베이스 및 사진을 들 수 있다.
많은 생산성 애플리케이션은 사용자로 하여금 기능을 호출하게 하는 피처 메뉴(feature menus)를 제공한다. 두 가지 유형의 피처는 생산성 피처(productivity features)와 서비스 피처(service features)이다. 일반적으로, 생산성 피처는 예컨대 프린팅, 저장 또는 콘텐츠 공유처럼 사용자가 콘텐츠에 대한 기능을 수행할 수 있게 하는 피처이다. 서비스 피처는 온라인 서비스에 대응하는 특정 유형의 생산성 피처로 이해될 수 있다. 일 예로, 사용자로 하여금 문서를 목적지로 전송하게 하는 일부 문서 편집기(document editors)에서 찾아볼 수 있는 전송 혹은 공유 피처(send or share feature)는 생산성 피처로 간주될 수 있다. 예컨대 특정 온라인 협업 서비스처럼 전송 피처내에서 자세히 설명되는 명확한 목적지는 서비스 피처로 간주될 수 있을 것이다.
사용자는 점점 더 많이 온라인 서비스를 사용하고 있고, 그와 동시에 온라인 서비스의 다양성과 유용성은 점점 더 성장하고 있다. 따라서, 생산성 애플리케이션에서 발견되는 서비스 피처의 다양성도 확장될 가능성이 있다.
본원에는, 사용자가 관계될 수 있는 서비스에 대응하는 서비스 피처를 동적으로 인에이블링(enabling)함으로써 생산성 애플리케이션과 서비스의 통합을 개선하는 시스템, 장치, 방법 및 소프트웨어가 제공된다. 일부 실시예에서, 이것은 사용자와 연관된 서비스를 식별하고, 이 연관된 서비스에 대응하는 서비스 피처를 생산성 애플리케이션에서 인에이블링함으로써 행할 수 있다. 이런 방식으로, 생산성 애플리케이션에 대한 사용자 경험이 향상될 수 있다.
다른 실시예로, 생산성 피처에 대응하는 생산성 애플리케이션에서 생산성 피처 메뉴를 제공하는 사용자 인터페이스가 제공된다. 생산성 피처 메뉴에서 생산성 피처중 하나의 피처에 대응하는 것을 선택하면, 그에 응답하여 몇 개의 서비스 피처를 포함하는 서비스 피처 메뉴가 제공된다. 사용자와 서비스 피처에 대응하는 온라인 서비스 사이의 연관성에 기반하여, 서비스 피처중 적어도 하나의 피처가 인에이블링될 것이다.
본 개요는 이후의 기술적 설명 부분에서 추가로 설명되는 개념들중 선택된 것을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구 주제의 핵심 특징이나 필수 특징을 식별하기 위해 기획된 것이 아니며, 청구 주제의 범주를 제한하는 데 이용되도록 의도된 것도 아니다.
본 개시물의 많은 양상들은 이후의 도면을 참조하여 더 잘 이해될 수 있다. 몇몇 실시예들이 상기 도면과 함께 설명되지만, 본 개시물이 본원에 개시된 실시예들로만 한정되는 것은 아니다. 오히려 모든 대체안, 수정안 및 등가안을 포함하도록 의도되었다.
도 1은 일 실시예의 프로세스를 예시한다.
도 2는 일 실시예의 향상된 피처 환경을 예시한다.
도 3은 일 실시예의 피처 인에이블먼트 시스템(feature enablement system)을 예시한다.
도 4는 일 실시예의 향상된 피처 환경을 예시한다.
도 5는 일 실시예의 동작 흐름도를 예시한다.
도 6은 일 실시예의 동작 흐름도를 예시한다.
도 7은 일 실시예의 향상된 피처 환경을 예시한다.
도 8은 일 실시예의 향상된 피처 환경을 예시한다.
도 9는 일 실시예의 사용자 인터페이스의 스크린 화면을 예시한다.
도 10은 일 실시예의 사용자 인터페이스의 스크린 화면을 예시한다.
본원에 설명된 실시예들은 사용자가 온라인 서비스에 연관되는지 또는 다른 서비스에 연관되는지에 기반하여 사용자로 하여금 생산성 애플리케이션에서 제공하는 향상된 피처를 경험할 수 있게 한다. 특히, 생산성 애플리케이션을 사용하는 사용자의 신원(identity)에 따라서 서비스 피처가 동적으로 인에이블되어, 사용자와 관련된 서비스 피처가 인에이블되도록 한다. 이때 사용자는 자신이 생산성 애플리케이션과 작업하여 만들어낸 콘텐츠에 대해 다양한 기능 또는 동작들을 수행하도록 서비스 피처를 호출한다. 사용자가 연관될 수 있는 다양한 서비스의 관점에서, 사용자별로 서비스 피처를 동적으로 인에이블링(enabling) 및 디스에이블링(disabling)함으로써, 사용자는 복잡하지 않고 이용도 쉬운 경험을 하게 될 것이다.
제한적이지 않은 일 실시예에서, 사용자는 소셜 네트워킹 웹사이트(social networking website)와 연관될 수 있다. 문서 편집 프로그램에서 문서 작업을 할 때, 해당 프로그램의 메뉴내에 소셜 네트워킹 예와 연관되는 서비스 피처가 인에이블될 것이다. 반대로, 사용자와 무관한 다른 소셜 네트워크 또는 서비스와 연관되는 서비스 피처는 디스에이블될 것이고, 아마도 아예 디스플레이되지도 않을 것이다.
도 1은 서비스 피처를 동적으로 인에이블링하는 프로세스(100)를 예시한다. 도 1과 관련한 이후의 논의는 서비스 애플리케이션과 사용자의 연관성을 검증하기 위해 도 2를 참조하여 설명되었고, 따라서 생산성 애플리케이션(201, 221)내의 대응하는 서비스 피처가 상기 연관성을 기반으로 어떻게 동적으로 인에이블되는지를 검증하기 위해 도 2를 참조하여 설명되었다. 도 3은 프로세스(100)가 구현될 수 있는 적합한 컴퓨터 시스템에 대한 간단하고 전반적인 설명을 제공하기 위한 것이다.
이제 도 1을 참조하면, 시작 단계(101)에서 생산성 애플리케이션과 연관된 사용자가 식별된다. 도 2에서, 향상된 피처 환경(200)은 두 개의 예시적인 생산성 애플리케이션(201, 221)을 포함하는데, 이들은 각각 상이한 사용자 A 및 B에 의해 이용된다. 따라서, 사용자 A는 생산성 애플리케이션(201)과 연관되고, 사용자 B는 생산성 애플리케이션(221)과 연관된다.
생산성 애플리케이션(201, 221)은 동일한 애플리케이션일 수도 있고, 동일한 애플리케이션의 상이한 버전(versions)일 수도 있으며, 또는 완전히 다른 애플리케이션일 수도 있다. 생산성 애플리케이션의 예로서, 오피스 생산성 스위트, 회계 소프트웨어, 그래픽 애플리케이션, 게임 애플리케이션(gaming application), 데이터베이스 프로그램 및 임의 개수의 그 밖의 유형의 애플리케이션을 들 수 있다. 전술한 바와 같이, 사용자가 상호 작용하는 애플리케이션 데이터의 예로는 워드 프로세싱 문서, 스프레드시트, 데이터베이스, 사진, 게임 환경 등등이 있다.
단계(103)에서, 사용자와 연관된 서비스 애플리케이션이 식별된다. 예시된 실시예에서, 향상된 피처 환경(200)은 서비스 애플리케이션(215)과 서비스 애플리케이션(217) 및 서비스 애플리케이션(219)을 포함한다. 또한 예시된 실시예에는 서비스 애플리케이션(215)이 3개의 상이한 사용자, 즉, 사용자 A, 사용자 M 및 사용자 N과 연관되는 것이 예시된다. 서비스 애플리케이션(217)은 3개의 사용자, 즉, 사용자 A, 사용자 B 및 사용자 N과 연관되는 것으로 예시된다. 예시된 실시예에서 서비스 애플리케이션(219)은 3개의 사용자, 즉, 사용자 M, 사용자 B 및 사용자 N과 연관되는 것으로 예시된다. 그러므로, 사용자 A는 서비스 애플리케이션(215) 및 서비스 애플리케이션(217)과 연관되고, 사용자 B는 서비스 애플리케이션(217) 및 서비스 애플리케이션(219)과 연관된다. 서비스라는 용어는 서비스 애플리케이션이라는 용어와 상호 호환 가능하게 이용될 수 있음을 이해해야 한다. 예를 들어, 소셜 네트워크는 서비스로 간주될 수 있는 반면, 사용자로 하여금 소셜 네트워크를 액세스하게 하는 웹 서버는 서비스를 제공하는 애플리케이션(들)을 실행할 수 있다.
마지막으로, 단계(105)에서, 식별된 서비스 애플리케이션에 대응하는 서비스 피처가 인에이블된다. 생산성 애플리케이션(201, 221)내부에는 생산성 피처(203, 223)가 각기 도시되어 있다. 생산성 피처(203)는 서비스 애플리케이션(215)에 대응하는 서비스 피처(205)와, 서비스 애플리케이션(217)에 대응하는 서비스 피처(207)를 포함한다. 생산성 피처(223)는 서비스 피처(225)를 포함하는데, 이것은 서비스 애플리케이션(215)에 대응하는 것으로 가정된다. 생산성 피처(223)는 서비스 애플리케이션(217)에 대응하는 서비스 피처(227)를 포함한다.
서비스 피처(209)는 서비스 애플리케이션(219)에 대응하는 것으로 가정되고, 생산성 애플리케이션(201)의 피처이지만 생산성 피처(203)의 서브 피처(sub-feature)는 아닌 것으로 도시되어 있다. 서비스 피처(229)는 서비스 애플리케이션(219)에 대응하는 것으로 가정되지만, 생산성 애플리케이션(221)의 피처이지만 생산성 피처(223)의 서브 피처는 아닌 것으로 도시되어 있다. 이것은 일부 서비스 피처가 생산성 피처의 서브 피처이더라도 다른 서비스 피처는 그 생산성 피처의 서브 피처가 아닌 개별적인 피처일 수도 있음을 설명하기 위함이다. 실제로, 일부 서비스 피처는 그 자체가 생산성 피처로 간주될 수도 있음을 이해해야 한다.
지금, 서비스 피처(205)와 서비스 피처(207)는 사용자 A에 대해 인에이블되는 것으로 도시되고, 반면에 서비스 피처(209)는 빗금 표시로서 디스에이블되는 것으로 표현된다. 마찬가지로, 서비스 피처(227)와 서비스 피처(229)는 인에이블된 것으로 도시되는 반면, 서비스 피처(225)는 빗금으로 표시하여 디스에이블된 것으로 표현되다. 임의의 서비스 피처는 그것이 생산성 피처의 서브 피처인지 아닌지에 따라서 동적으로 인에이블될 수 있음을 이해해야 한다.
이제 도 3을 참조하면, 서비스 인에이블먼트 시스템(300)과 그 관련 설명은 프로세스(100)가 구현될 수 있는 적합한 컴퓨터 환경에 대한 간단하고 전반적인 설명을 제공하기 위한 것이다. 많은 다른 구성의 컴퓨터 장치와 소프트웨어 컴퓨터 시스템이 서비스 피처를 동적으로 인에이블링하는 시스템을 구현하는데 채용될 수 있을 것이다.
피처 인에이블먼트 시스템(300)은 생산성 애플리케이션내에서 동적으로 서비스 피처를 인에이블링할 수 있는 임의의 유형의 컴퓨터 시스템으로, 예컨대 서버 컴퓨터, 클라이언트 컴퓨터, 인터넷 가전제품 또는 이러한 것들의 임의의 조합이나 변형 등일 수 있다. 이후에 더 상세히 설명되겠지만 도 4는 컴퓨터 시스템의 예들을 제공한다. 실제, 피처 인에이블먼트 시스템(300)은 단일 컴퓨터 시스템으로 구현될 수 있지만, 다중 컴퓨터 시스템에 분산되는 방식으로 구현될 수도 있다. 예를 들어, 피처 인에이블먼트 시스템(300)은 생산성 애플리케이션(201, 221)을 실행하고 있는 컴퓨터 시스템(도시 안 됨)이 서비스 피처를 인에이블하기 위해 통신하는 서버 시스템(도시 안 됨)을 나타낼 수도 있다. 그러나, 피처 인에이블먼트 시스템(300)은 생산성 애플리케이션(201, 221)을 실행하는 컴퓨터 시스템을 나타낼 수도 있다. 실제, 피처 인에이블먼트 시스템(300)은 프로세스(100)를 실시하면 서비스 피처를 동적으로 인에이블링할 수 있는 전용 시스템(specialized system)이 되는 범용 컴퓨터 시스템의 일 예로서 제공된다.
피처 인에이블먼트 시스템(300)은 처리 시스템(301), 저장 시스템(303) 및 피처 인에이블먼트 소프트웨어(305)를 포함한다. 처리 시스템(301)은 저장 시스템(303)과 통신 가능하게 접속된다. 저장 시스템(303)은 피처 인에이블먼트 소프트웨어(305)를 저장하는데, 피처 인에이블먼트 소프트웨어(305)는 처리 시스템(301)에 의해 실행될 때 피처 인에이블먼트 시스템(300)에게 프로세스(100)와 향상된 피처 환경(200)에서 설명된 것처럼 동작하도록 지시한다.
계속해서 도 3을 참조하면, 처리 시스템(301)은 저장 시스템(303)으로부터 피처 인에이블먼트 소프트웨어(305)를 검색(retrieve)하고 실행하는 마이크로프로세서 및 다른 회로를 포함할 수 있다. 처리 시스템(301)은 단일 처리 장치 내부에 구현될 수도 있지만, 프로그램 명령어 실행시 협력하는 다중 처리 장치 또는 서브 시스템에 분산될 수도 있다. 처리 시스템(301)의 예로서, 범용 중앙 처리 장치, 주문형 프로세서 및 그래픽 프로세서가 있으며, 뿐만 아니라 임의의 다른 유형의 처리 장치도 가능하다.
저장 시스템(303)은 처리 시스템(301)에 의해 판독 가능하며 저장 피처 인에이블먼트 소프트웨어(305)를 저장할 수 있는 임의의 저장 매체를 포함할 수 있다. 저장 시스템(303)은 예컨대 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터같은 정보를 저장하는 임의의 방법이나 기술로 구현된 휘발성 매체, 비휘발성 매체, 착탈식 매체 및 고정식 매체를 포함할 수 있다. 저장 시스템(303)은 단일 저장 장치로 구현될 수도 있지만, 다중 저장 장치 또는 서브 시스템에 구현될 수도 있다. 저장 시스템(303)은 예컨대 콘트롤러처럼 처리 시스템(301)과 통신할 수 있는 추가 요소들을 포함할 수도 있다.
저장 매체의 예로서, RAM, ROM, 자기 디스크, 광학 디스크 및 플래시 메모리 및 이들의 임의의 조합이나 변형을 들 수 있으며, 임의의 다른 유형의 저장 매체도 가능하다. 일부 실시예에서, 저장 매체는 비일시성 저장 매체일 수도 있다. 일부 실시예에서는, 저장 매체의 적어도 일부가 일시성일 수도 있다. 어떤 경우에서든 저장 매체가 전파 신호(propagated signal)인 경우는 없음을 이해해야 한다.
피처 인에이블먼트 소프트웨어(305)는 프로세스(100)가 내부에서 구현되는 컴퓨터 프로그램 명령어, 펌웨어 또는 일부 다른 형태의 기계 판독 가능 처리 명령어를 포함한다. 피처 인에이블먼트 소프트웨어(305)는 단일 애플리케이션 뿐만 아니라 다중 애플리케이션으로 구현될 수도 있다. 피처 인에이블먼트 소프트웨어(305)는, 제한적인 것은 아니지만, 생산성 애플리케이션 소프트웨어와 운영 체계 소프트웨어를 포함하는 독립형 애플리케이션일 수도 있고 다중 장치에 분산된 다른 애플리케이션내에 구현될 수도 있다.
일반적으로, 프로세스(100)와 그 관련 논의에서 설명된 바와 같이, 피처 인에이블먼트 소프트웨어(305)는 처리 시스템(301)에 로드되어 실행될 때 이 처리 시스템(301)을 범용 컴퓨터 시스템으로부터 생산성 애플리케이션내에서 서비스 피처를 동적으로 인에이블시키도록 맞춰진 전용 컴퓨터 시스템으로 변환시키고, 피처 인에이블먼트 시스템(300) 전체도 변환시킬 것이다.
피처 인에이블먼트 소프트웨어(305)를 엔코딩하는 것은 저장 시스템(303)의 물리적 구조를 변환시키는 것이기도 하다. 이러한 물리적 구조의 특정 변환은 본 설명과 관련한 상이한 실시예들의 다양한 요인에 따를 것이다. 이러한 요인의 예로서, 제한적인 것은 아니지만, 저장 시스템(303)의 저장 매체를 구현하는데 이용된 기술과, 컴퓨터-저장 매체가 1차 저장장치로 특성화되었는지 혹은 2차 저장장치로 특성화되었는지의 여부 등을 들 수 있다.
예를 들어, 만약 컴퓨터-저장 매체가 반도체 기반의 메모리로 구현된다면, 피처 인에이블먼트 소프트웨어(305)는 반도체 메모리 내에서 엔코드될 때 반도체 메모리의 물리적 상태를 변환시킨다. 예를 들어, 피처 인에이블먼트 소프트웨어(305)는 반도체 메모리를 구성하는 트랜지스터, 캐패시터 혹은 다른 개별적인 회로 소자의 상태를 변환시킬 것이다.
자기 매체 혹은 광학 매체와 관련해서도 유사한 변환이 발생할 것이다. 오로지 본 논의를 돕기위해서 제공된 전술한 실시예들과 함께 본 논의의 범주를 벗어나지 않으면서 물리적 매체의 다른 변환도 가능하다.
도 1 내지 도 3을 다시 참조하면, 피처 인에이블먼트 소프트웨어(305)을 채용하는 피처 인에이블먼트 시스템(300)의 동작을 통해 생산성 애플리케이션(201, 221)상에는 변형이 수행된다. 예로서, 생산성 애플리케이션(201) 혹은 생산성 애플리케이션(221)은 그들 내부에서 다양한 서비스 피처의 인에이블먼트로 인해 한 상태에서 다른 상태로 변환되는 것으로 간주될 수 있다.
피처 인에이블먼트 시스템(300)은 추가의 장치, 피처 또는 기능을 가질 수도 있다. 피처 인에이블먼트 시스템(300)은 예컨대 키보드, 마우스, 음성 입력 장치 또는 터치 입력 장치같은 입력 장치들을 선택 사양으로 가질 수 있고, 그와 견줄 수 있는 입력 장치들을 가질 수도 있다. 예컨대 디스플레이, 스피커, 프린터와 같은 출력 장치와 그 밖의 유형의 출력 장치도 포함할 수 있을 것이다. 피처 인에이블먼트 시스템(300)은 다른 장치들과 통신하기 위해 통신 연결을 포함할 수도 있는데, 예를 들면 분산형 컴퓨터 미 통신 환경에서 유선 혹은 무선 네트워크를 가질 수도 있다. 이러한 장치들은 본 기술분야에서 공지된 것이므로, 여기에서 자세히 설명될 필요가 없다.
도 4 내지 도 8은 클라이언트 장치의 조작자에 의해 이용되는 생산성 애플리케이션내에서 서비스 피처를 인에이블하기 위해 클라인언트 장치가 서버 시스템과 인터페이스하게 되는 실시예를 나타낸다. 간단히 말하면, 도 4는 향상된 피처 환경을 예시하고, 반면에 도 5 및 도 6은 향상된 피처 환경 내부의 다양한 장치와 시스템 사이에서 데이터의 동작적 흐름을 예시한다. 도 7 및 도 8은 향상된 피처 환경의 구성요소들의 세부도와 그 상호 작용을 예시한다.
이제 도 4를 참조하면, 향상된 피처 환경(400)이 일 실시예로 예시된다. 세 개의 상이한 시나리오가 향상된 서비스 환경(400)내에 도시되고, 각각의 시나리오내에는 적어도 하나의 호스트형(hosted) 및 비호스트형(non-hosted) 실시예가 도시된다. 클라이언트 장치(421, 431)를 수반하는 첫 번째 시나리오는 사용자가 개인 신원에 의해 식별되는 방식을 지향하며, 그로부터 관련 서비스가 식별되고, 연관된 서비스 피처도 인에이블된다. 클라이언트 장치(441, 451)를 수반하는 두 번째 시나리오는 사용자가 생산성 신원(productivity identities)에 기반하여 식별되는 방식을 지향하고, 반면에 클라이언트 장치(461, 471)를 수반하는 세 번째 시나리오는 사용자가 기업 신원(enterprise identities)에 기반하여 식별되는 방식을 지향한다.
향상된 피처 환경(400)은 인터넷처럼 공지된 네트워크의 적어도 일부분으로 간주될 수 있는 개방형 통신 네트워크(401)와, 인트라넷과 같은 사설 통신 네트워크(411)를 포함한다. 클라이언트 장치(421, 431, 441, 451)는 개방형 통신 네트워크(401)를 통해 서비스 관리 시스템(403)과 통신하고, 어떤 경우에는 호스트형 애플리케이션 서버(439)와도 통신한다.
클라이언트 장치(421, 431, 441, 451)는 개방형 통신 네트워크(401)를 통해 클라우드 서비스(491, 493, 495)와도 통신한다. 클라우드 서비스는 인터넷을 통해 제공되는 서비스이다. 클라우드 서비스(491, 493, 495)의 예로서, 드라이브, 사진 공유 웹사이트 및 소셜 네트워크 웹사이트가 있으며, 인터넷을 통한 일반적인 이용 가능성으로 인해 클라우드 서비스로 간주될 수 있는 모든 다양한 서비스도 예로 들 수 있을 것이다. 클라이언트 장치(421, 431, 441, 451)의 예로는, 데스크탑 및 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 통신 장치 및 그 밖의 유형의 컴퓨터 장치 또는 가전제품을 들 수 있다. 클라이언트 장치(421, 431, 441, 451)는 본 명세서에서는 설명을 간단히 하기 위해 도시되지 않았지만 임의 개수의 공지된 액세스 기술을 이용해 개방형 통신 네트워크(401)에 액세스한다. 가정용 또는 사업용으로 찾아볼 수 있거나 네트워크 서비스 공급자에 의해 제공되는 유선 또는 무선 액세스 네트워크가 액세스 기술의 사례들이다.
도 4를 계속 살펴보면, 클라이언트 장치(461, 471)는 사설 통신 네트워크(411)를 통해 서비스 관리 시스템(413)과 통신하고, 어떤 경우에는 호스트형 애플리케이션 서버(479)와 통신한다. 클라이언트 장치(461, 471)는 클라우드 서비스(491, 493, 495)와도 통신한다. 사설 통신 네트워크(411)는 개방형 통신 네트워크(401)와 통신하는 것으로 여기에서는 도시된다. 그러나, 이것은 선택 사양이며, 실제로는 어떤 다른 통신 채널 또는 네트워크에 의해 클라이언트 장치(461, 471)가 클라우드 서비스(491, 493, 495)와 통신할 수 있음을 이해해야 한다. 클라이언트 장치(461, 471)는 로컬 서비스(497)와도 통신할 수 있는데, 로컬 서비스(497)는 인터넷이 아닌 인트라넷 내부에서의 일반적인 이용 가능성으로 인해 클라우드 서비스와 반대되는 로컬 서비스로 간주된다. 로컬 서비스(497)의 예로서, 클라우드 드라이브, 사내 소셜 네트워크, 블로그 사이트 등을 들 수 있다. 클라이언트 장치(461, 471)의 예로는, 데스크탑 및 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 통신 장치 및 그 밖의 유형의 컴퓨터 장치 또는 가전제품을 들 수 있다. 클라이언트 장치(461, 471)는 본 명세서에서는 설명을 간단히 하기 위해 도시되지 않았지만 임의 개수의 공지된 유선 혹은 무선 액세스 기술을 이용해 사설 통신 네트워크(411)에 액세스한다.
이제 첫 번째 시나리오를 살펴보면, 예시된 실시예에서 클라이언트 장치(421)는 피처 인에이블먼트 클라이언트(427), 생산성 애플리케이션(425) 및 개인 식별자(personal identifier)(423)를 포함한다. 생산성 애플리케이션(425)은 클라이언트 장치(421)상에서 설치 및 실행중인 임의의 생산성 애플리케이션일 수 있다. 생산성 애플리케이션은 콘텐츠를 생성하거나 만들어내거나 또는 콘텐츠와 상호작용하는데 이용되는 소프트웨어 프로그램이다. 생산성 애플리케이션(425)의 예로서, 마이크로소프트®워드(Microsoft®Word) 문서 편집기, 마이크로소프트®엑셀®(Microsoft®Excel®) 스프레드시트 프로그램, 마이크로소프트®파워포인트®(Microsoft®PowerPoint®) 프리젠테이션 프로그램, 마이크로소프트®아웃룩®(Microsoft®Outlook®) 이메일 및 캘린더 프로그램을 들 수 있다. 다른 예들로는, IBM사의 로투스 스마트 스위트(Lotus Smart Suite), 코렐사의 워드퍼펙트(WordPerfect), 그리고 회계 및 데이터베이스 소프트웨어처럼 임의의 판매자에 의해 제공되는 임의의 다른 유형의 생산성 애플리케이션을 들 수 있다. 콘텐츠의 예로는 워드 프로세싱 문서, 스프레드시트, 데이터베이스 및 사진들을 들 수 있다.
피처 인에이블먼트 클라이언트(427)는 이후에 보다 상세히 논의되는 것처럼 생산성 애플리케이션(425)내에서 서비스 피처를 동적으로 인에이블하기 위해 피처 인에이블먼트 서버(407)와 통신할 수 있고 서비스 관리 시스템(403)상에서 실행할 수 있는 임의의 애플리케이션 프로그램일 수 있다. 피처 인에이블먼트 클라이언트(427)는 독립형 클라이언트 애플리케이션일 수도 있지만, 생산성 애플리케이션(425) 내부에 통합되거나 운영체계 소프트웨어와 통합될 수도 있다.
개인 식별자(423)는 사용자를 식별하고 사용자와 개인적으로 연관된 로그인 신원을 나타낸다. 개인 식별자(423)의 예로서, 제한적인 것은 아니지만, 마이크로소프트사의 윈도우즈 라이브®(Windows Live®)로 알려진 서비스 스위트를 액세스하는데 이용되는 윈도우즈 라이브® ID, 마이크로소프트사의 핫메일®(Hotmail®) 이메일 시스템을 액세스하는데 이용되는 Hotmail® 식별자, 그리고 구글에 의해 제공되는 이메일과 다른 서비스를 액세스하는 지메일 식별자(Gmail identifier)가 있다. 임의 개수의 다양한 개인 식별자가 이용가능하며, 이들은 본 논의의 범주내에 있는 것으로 고려된다. 사용자는 개인 식별자(423)를 이용하여 클라이언트 장치(421)상에서 실행중인 생산성 애플리케이션(425) 또는 다른 애플리케이션이나 운영체계에 로그인할 것이다.
동작시, 클라이언트 장치(421)를 조작중인 사용자는 개인 식별자(423)로 생산성 애플리케이션에 로그인한다. 이것은 생산성 애플리케이션(425)에 의해 제공되는 사용자 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스나 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있다. 생산성 애플리케이션(425)으로도 불릴 수 있는 피처 인에이블먼트 클라이언트(427)는 피처 인에이블먼트 서버(407)와 통신을 개시하여, 생산성 애플리케이션(425)내의 어떤 서비스 피처를 인에이블할지를 결정한다. 개인 식별자(423)를 이용하여, 피처 인에이블먼트 서버(407)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시(indication)를 피처 인에이블먼트 클라이언트(427)로 복귀시킨다. 피처 인에이블먼트 클라이언트(427)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 생산성 애플리케이션(425)에게 통신한다.
서비스 피처를 인에이블링하는 것은 다수의 방식으로 일어날 수 있다. 예로서, 생산성 애플리케이션(425)은 서비스 피처를 그래픽 표현으로 렌더링하기 위해 서비스 피처에 대응하는 그래픽 객체를 호출할 수도 있다. 렌더링은 그래픽 표현을 활성화 혹은 사용자에게 가시화함으로써 발생할 것이다. 일부 경우, 디스에이블된 서비스 피처는 희미하게(grayed-out) 될 것이고, 반면에 인에이블된 서비스 피처는 또렷한 색상으로 표현될 것이다. 서비스 피처의 그래픽 표현은 이 그래픽 표현을 사용자가 선택하면 실행될 수 있는 코드에 링크되거나 그런 코드를 포함할 것이다. 이러한 그래픽 표현의 일반적인 예로서, 버튼, 하이퍼링크 및 드롭-다운메뉴의 아이템을 들 수 있다. 다른 예로서, 생산성 애플리케이션(425)은 인에이블된 서비스 피처의 그래픽 표현의 시각적 특성을 변경하기 위해서 서비스 피처에 대응하는 그래픽 객체 내부의 값 또는 설정을 변경할 수도 있다. 많은 다른 실시예들이 가능함을 이해해야 할 것이다.
일단 서비스 피처가 인에이블되면, 생산성 애플리케이션(425)은 클라우드 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만든다. 예를 들어, 클라우드 서비스(491)가 클라우드 드라이브이고 사용자와 연관된 것이라고 가정하면, 사용자는 이 클라우드 드라이브에 문서를 저장할 수 있을 것이다. 마찬가지로, 사용자는 특정 실시예에서 사진을 업로드할 수 있거나 클라우드 서비스(491, 493, 495)와 콘텐츠를 공유할 것이고, 또는 서비스로부터 콘텐츠를 다운로드할 수 있을 것이다. 다른 실시예에서, 클라우드 서비스(491)가 소셜 네트워킹 웹사이트라고 가정하면, 사용자는 예컨대 사진이나 워드 프로세싱 문서와 같은 콘텐츠를 소셜 네트워킹 웹사이트에 업로드할 수 있을 것이다.
도 4에 도시된 것을 더 살펴보면, 클라이언트 장치(421)는 호스트형 애플리케이션(435) 및 개인 식별자(433)를 포함한다. 클라이언트 장치(421)와 마찬가지로, 개인 식별자(433)는 예컨대 웹메일, 메시징 등처럼 사용자와 연관된 개인 서비스를 액세스하기 위해 사용자에 의해 이용되는 로그인 신원을 나타낸다. 호스트형 애플리케이션(435)은 예컨대 웹 브라우저 애플리케이션처럼 클라이언트 장치(431)상에서 클라이언트 인스턴스로서 실행하는 생산성 애플리케이션인데, 이것은 호스트형 애플리케이션 서버(439)에 의해 호스트되거나 또는 호스트형 애플리케이션 서버(439)로부터 제공되는 것이다. 호스트형 애플리케이션(435)의 예로서, 제한적인 것은 아니지만, 워드™(Word™) 문서 편집기, 엑셀® 스프레드시트 프로그램, 파워포인트® 프리젠테이션 프로그램 및 아웃룩® 이메일 및 캘린더 프로그램의 호스트 버전을 들 수 있으며, 이것은 모두 생산성 애플리케이션인 마이크로소프트® 오피스™ 스위트의 호스트 버전내에 제공된다. 다른 실시예로는, 구글의 구글 독스 스위트 애플리케이션(Google Docs suite of applications)와 조호의 조호 오피스 스위트(Zoho office suite)가 있다. 또다른 실시예로는 임의의 판매자에 의해 제공되는 임의의 다른 유형의 호스트형 생산성 애플리케이션을 포함할 수 있는데, 예컨대 온라인으로 제공되는 회계 및 데이터베이스 소프트웨어, 게임 애플리케이션 및 통신 애플리케이션이 있다. 예컨대 로컬 캐시 모드처럼 호스트 모드뿐만 아니라 비호스트 모드에서도 실행할 수 있는 하이브리드 애플리케이션도 본 논의의 범주내에 있는 것으로 간주된다.
동작시, 클라이언트 장치(431)를 조작중인 사용자는 개인 식별자(433)로 호스트형 생산성 애플리케이션(435)에 로그인한다. 이것은 웹브라우저에 의해 제공된 사용자 인터페이스에 의해 행해질 수도 있고, 또는 사용자가 호스트형 생산성 애플리케이션(435)에 액세스하는 다른 클라이언트 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스 또는 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있을 것이다. 호스트형 애플리케이션 서버(439)에서 실행중인 피처 인에이블먼트 클라이언트(437)는 피처 인에이블먼트 서버(407)와 통신을 개시하여, 호스트형 생산성 애플리케이션(435) 내부의 어떤 서비스 피처가 인에이블될 것인지를 결정한다. 개인 식별자(433)를 이용하여, 피처 인에이블먼트 서버(407)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시를 피처 인에이블먼트 클라이언트(437)로 복귀시킨다. 피처 인에이블먼트 클라이언트(437)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 생산성 애플리케이션(435)에게 통신한다. 일단 인에이블되면, 생산성 애플리케이션(425)과 관련해 전술한 것처럼, 호스트형 생산성 애플리케이션(435)은 클라우드 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만든다.
이제 위에서 언급된 두 번째 시나리오를 살펴보면, 클라이언트 장치(441)는 생산성 애플리케이션(445)과 생산성 식별자(443)를 포함한다. 생산성 애플리케이션(445)의 예로서, 전술한 마이크로소프트®, IBM 및 코렐에 의해 제공되는 오피스 스위트가 있으며, 뿐만 아니라 임의의 다른 유형의 생산성 애플리케이션도 있다. 피처 인에이블먼트 클라이언트(447)는 생산성 애플리케이션(445) 내부의 서비스 피처를 동적으로 인에이블하기 위해 피처 인에이블먼트 서버(407)와 통신할 수 있고 서비스 관리 시스템(403) 상에서 실행할 수 있는 임의의 애플리케이션 프로그램으로, 이것은 이후에 상세히 설명될 것이다.
생산성 식별자(443)는 예컨대 사업장이나 학교처럼 사용자가 속한 조직을 식별하고 그와 연관된 로그인 신원을 나타내는데, 이것은 생산성 애플리케이션(445)의 공급자로 하여금 생산성 애플리케이션(425)의 프로비저닝(provisioning)을 관리 및 운영하게 한다. 예를 들어, 조직은 오피스 365™ 제품 스위트의 공급자인 마이크로소프트®에 자신의 활성 디렉토리를 연동시킬 것이다. 오피스 365™가 인터넷 기반 애플리케이션 세트이지만, 본원에서는 신원에 의해 식별되는 동안에는 사용자가 이 생산성 애플리케이션의 국소적으로 설치된 버전을 여전히 이용할 수 있는 것으로 간주된다. 따라서, 생산성 식별자(443)는 생산성 애플리케이션과 직접적으로 연관된 것이다. 일 실시예의 식별자(443)가 JohnSmith@O365.com이다. 임의의 개수의 다양한 생산성 애플리케이션 식별자가 이용가능하며, 이들 모두는 본 논의의 범주내에 있는 것으로 간주된다. 사용자는 생산성 식별자(443)를 이용하여 생산성 애플리케이션(445)에 로그인하거나 또는 클라이언트 장치(441)상에서 실행중인 다른 애플리케이션이나 운영체계에 로그인할 것이다.
동작시, 클라이언트 장치(441)를 조작중인 사용자는 생산성 식별자(443)로 생산성 애플리케이션에 로그인한다. 이것은 생산성 애플리케이션(445)에 의해 제공되는 사용자 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스나 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있다. 생산성 애플리케이션(445)으로도 불릴 수 있는 피처 인에이블먼트 클라이언트(447)는 피처 인에이블먼트 서버(407)와 통신을 개시하여, 생산성 애플리케이션(445)내의 어떤 서비스 피처를 인에이블할지를 결정한다. 생산성 식별자(443)를 이용하여, 피처 인에이블먼트 서버(407)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시를 피처 인에이블먼트 클라이언트(447)로 복귀시킨다. 피처 인에이블먼트 클라이언트(447)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 생산성 애플리케이션(445)에게 통신한다.
일단 서비스 피처가 인에이블되면, 생산성 애플리케이션(445)은 클라우드 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만드는데, 예를 들면, 파일, 사진 또는 다른 이러한 콘텐츠를 서비스중 어떤 것에 업로드할 수 있게 하거나 서비스로부터 콘텐츠를 다운로드할 수 있게 한다. 전술한 바와 같이, 서비스 피처를 인에이블링하는 것은 다수의 방식으로 발생할 수 있다. 많은 가능한 방식중 일부 실시예로서, 서비스 피처를 그래픽 표현으로 렌더링하기 위해 서비스 피처에 대응하는 그래픽 객체를 호출하는 것과, 인에이블된 서비스 피처의 그래픽 표현의 시각적 특성을 변경하기 위해서 서비스 피처에 대응하는 그래픽 객체 내부의 값 또는 설정을 변경하는 것을 들 수 있다.
도 4에 도시된 것처럼, 클라이언트 장치(441)는 호스트형 애플리케이션(455)과 생산성 식별자(453)를 포함한다. 클라이언트 장치(441)와 마찬가지로, 생산성 식별자는 제품 공급자로 하여금 호스트형 생산성 애플리케이션(455)의 프로비저닝을 관리 및 운영할 수 있게 하는 조직과 사용자를 결속시키는 로그인 신원을 나타낸다. 예컨대 JohnSmith@0365.com같은 오피스 365™ 신원은 일 실시예이다. 호스트형 애플리케이선(455)은 예컨대 웹 브라우저 애플리케이션처럼 클라이언트 장치(451)상에서 클라이언트 인스턴스로서 실행하는 생산성 애플리케이션인데, 이것은 호스트형 애플리케이션 서버(439)에 의해 호스트되거나 또는 호스트형 애플리케이션 서버(439)로부터 제공되는 것이다. 호스트형 애플리케이션(455)의 예로서, 워드™ 문서 편집기, 엑셀® 스프레드시트 프로그램, 파워포인트® 프리젠테이션 프로그램 및 아웃룩® 이메일 및 캘린더 프로그램의 호스트 버전을 들 수 있으며, 이것은 모두 생산성 애플리케이션인 마이크로소프트® 오피스 365™ 스위트에 제공된다. 다른 실시예로는, 구글의 구글 독스 스위트 애플리케이션와 조호의 조호 오피스 스위트가 있다.
동작시, 클라이언트 장치(451)를 조작중인 사용자는 생산성 식별자(453)로 호스트형 생산성 애플리케이션(455)에 로그인한다. 이것은 웹브라우저에 의해 제공된 사용자 인터페이스에 의해 행해질 수도 있고, 또는 사용자가 생산성 애플리케이션(455)에 액세스하는 다른 클라이언트 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스 또는 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있을 것이다. 호스트형 애플리케이션 서버(439)에서 실행중인 피처 인에이블먼트 클라이언트(437)는 피처 인에이블먼트 서버(407)와 통신을 개시하여, 호스트형 생산성 애플리케이션(455) 내부의 어떤 서비스 피처가 인에이블될 것인지를 결정한다. 생산성 식별자(453)를 이용하여, 피처 인에이블먼트 서버(407)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시를 피처 인에이블먼트 클라이언트(437)로 복귀시킨다. 피처 인에이블먼트 클라이언트(437)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 호스트형 생산성 애플리케이션(455)에게 통신한다. 일단 서비스 피처가 인에이블되면, 생산성 애플리케이션(445)과 관련해 전술한 것처럼, 호스트형 생산성 애플리케이션(455)은 클라우드 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만든다.
이제 전술한 세 번째 시나리오를 살펴보면, 클라이언트 장치(461)는 생산성 애플리케이션(465)과 기업 식별자(enterprise identifier)(463)를 포함한다. 생산성 애플리케이션(465)는 클라이언트 장치(461)에 설치되어 실행 가능한 임의의 생산성 애플리케이션일 것이다. 생산성 애플리케이션(465)의 예로서, 전술한 마이크로소프트®, IBM 및 코렐에 의해 제공되는 생산성 애플리케이션이 있다. 피처 인에이블먼트 클라이언트(467)는 생산성 애플리케이션(465) 내부의 서비스 피처를 동적으로 인에이블하기 위해 피처 인에이블먼트 서버(417)와 통신할 수 있고 서비스 관리 시스템(413)상에서 실행할 수 있는 임의의 애플리케이션 프로그램으로, 이것은 이후에 상세히 설명될 것이다.
기업 식별자(463)는 예컨대 사업장이나 학교처럼 사용자가 속한 조직을 식별하고 그와 연관된 로그인 신원을 나타내는데, 이것은 스스로가 생산성 애플리케이션(465)의 프로비저닝을 관리 및 운영한다. 생산성 애플리케이션의 예로서, 마이크로소프트사의 워드™, 엑셀®, 파워포인트® 및 아웃룩® 애플리케이션이 있다. 따라서, 기업 식별자(463)는 예컨대 acme\JohnSmith처럼 조직과 연관된 것이다. 임의의 개수의 다양한 기업 식별자가 이용가능하며, 이들 모두는 본 논의의 범주내에 있는 것으로 간주된다. 사용자는 기업 식별자(463)를 이용하여 생산성 애플리케이션(465)에 로그인하거나 또는 클라이언트 장치(461)상에서 실행중인 다른 애플리케이션이나 운영체계에 로그인할 것이다.
동작시, 클라이언트 장치(461)를 조작중인 사용자는 기업 식별자(463)로 생산성 애플리케이션(465)에 로그인한다. 이것은 생산성 애플리케이션(46)에 의해 제공되는 사용자 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스나 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있다. 생산성 애플리케이션(46)으로도 불릴 수 있는 피처 인에이블먼트 클라이언트(467)는 피처 인에이블먼트 서버(417)와 통신을 개시하여, 생산성 애플리케이션(465)내의 어떤 서비스 피처를 인에이블할지를 결정한다. 기업 식별자(463)를 이용하여, 피처 인에이블먼트 서버(417)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시를 피처 인에이블먼트 클라이언트(467)로 복귀시킨다. 피처 인에이블먼트 클라이언트(467)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 생산성 애플리케이션(445)에게 통신한다.
일단 서비스 피처가 인에이블되면, 생산성 애플리케이션(465)은 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만드는데, 예를 들면, 콘텐츠를 서비스에 업로드할 수 있게 하거나 서비스로부터 콘텐츠를 다운로드할 수 있게 한다. 서비스 피처 또는 서비스(497)에 대응하는 피처도 인에이블될 수 있다. 전술한 바와 같이, 서비스 피처를 인에이블링하는 것은 다수의 방식으로 발생할 수 있다. 많은 가능한 방식중 일부 실시예로서, 서비스 피처를 그래픽 표현으로 렌더링하기 위해 서비스 피처에 대응하는 그래픽 객체를 호출하는 것과, 인에이블된 서비스 피처의 그래픽 표현의 시각적 특성을 변경하기 위해서 서비스 피처에 대응하는 그래픽 객체 내부의 값 또는 설정을 변경하는 것을 들 수 있다.
도 4에 도시된 것처럼, 클라이언트 장치(471)는 호스트형 애플리케이션(475)과 기업 식별자(473)를 포함한다. 클라이언트 장치(461)와 마찬가지로, 기업 식별자는 호스트형 생산성 애플리케이션(475)의 프로비저닝을 관리 및 운영하는 조직과 사용자를 결속시키는 로그인 신원을 나타낸다. 호스트형 애플리케이선(475)은 예컨대 웹 브라우저 애플리케이션처럼 클라이언트 장치(471)상에서 클라이언트 인스턴스로서 실행하는 생산성 애플리케이션인데, 이것은 호스트형 애플리케이션 서버(479)에 의해 호스트되거나 또는 호스트형 애플리케이션 서버(479)로부터 제공되는 것이다. 호스트형 애플리케이션(475)의 예로서, 워드™ 문서 편집기, 엑셀® 스프레드시트 프로그램, 파워포인트® 프리젠테이션 프로그램 및 아웃룩® 이메일 및 캘린더 프로그램의 호스트 버전을 들 수 있으며, 이것은 모두 마이크로소프트®로부터 제공된다. 다른 실시예로는, 구글의 구글 독스 스위트 애플리케이션이 있는데, 이것 역시 국소적으로 호스트될 수 있다.
동작시, 클라이언트 장치(471)를 조작중인 사용자는 기업 식별자(473)로 호스트형 생산성 애플리케이션(475)에 로그인한다. 이것은 웹브라우저에 의해 제공된 사용자 인터페이스에 의해 행해질 수도 있고, 또는 사용자가 생산성 애플리케이션(475)에 액세스하는 다른 클라이언트 인터페이스에 의해 행해질 수도 있지만, 운영체계 인터페이스 또는 어떤 다른 유형의 로그인 메커니즘을 통해 수행될 수도 있을 것이다. 호스트형 애플리케이션 서버(479)에서 실행중인 피처 인에이블먼트 클라이언트(477)는 피처 인에이블먼트 서버(417)와 통신을 개시하여, 호스트형 생산성 애플리케이션(475) 내부의 어떤 서비스 피처가 인에이블될 것인지를 결정한다. 기업 식별자(473)를 이용하여, 피처 인에이블먼트 서버(417)는 사용자와 연관된 관련 서비스를 식별하고, 이에 대한 지시를 피처 인에이블먼트 클라이언트(477)로 복귀시킨다. 피처 인에이블먼트 클라이언트(477)는 피처와 관련 서비스 사이의 대응관계에 기반하여 어떤 서비스 피처가 인에이블되는지를 호스트형 생산성 애플리케이션(475)에게 통신한다. 일단 서비스 피처가 인에이블되면, 생산성 애플리케이션(465)과 관련해 전술한 것처럼, 호스트형 생산성 애플리케이션(475)은 서비스(491, 493, 495)중 어떤 것과 상호작용하는 사용자에게 이 서비스 피처가 이용가능해지게 만든다.
도 5는 향상된 피처 환경(400)의 일부 동작들을 예시하기 위해 클라이언트 장치(421)과 서비스 관리 시스템(403)과 서비스(491) 사이의 예시적인 데이터 교환을 설명하는 일 실시예의 동작 흐름도를 예시한다. 이 시나리오에서, 사용자는 클라이언트 장치(421)상에서 생산성 애플리케이션을 개시한다. 클라이언트 장치(421)는 서비스 관리 시스템(403)에 사용자 신원을 제공한다. 사용자 신원은 사용자에 의해 생산성 애플리케이션에 대한 로그인 동작동안 제공되거나 그렇지 않으면 운영체계에 대한 로그인 동작동안 제공된다.
일 실시예에서, 서비스 관리 시스템(403)에 대해 사용자를 인증 및 식별하기 위해 RPS(Relying Party Suite) 교환이 채용된다. RPS 실시예에서, 클라이언트 장치(421)는 사용자를 인증하기 위해 로그인 서버(도시 안 됨)와 통신한다. 사용자가 인증된 것으로 가정하면, 로그인 서버는 클라이언트 장치에게 서비스 관리 시스템(403)에 대해 사용자를 인증하는데 이용되는 티켓 또는 토큰을 공급한다. 클라이언트 장치(421)는 서비스 관리 시스템(403)에게 티켓을 제시한 다음, 사용자 인증을 확인하기 위해 로그인 서버와 통신을 한다. 많은 다양한 다른 기술이 사용자 식별을 위해 이용될 수 있음을 이해해야 한다.
사용자 식별 기술에 구애받지 않고 서비스 관리 시스템(403)은 계속 진행하여, 어떤 서비스가 사용자와 연관되는지를 식별하고, 그 선택된 서비스의 지시를 클라이언트 장치(421)로 복귀시킨다. 서비스 관리 시스템(403)이 연관 서비스를 식별하는 방법에 대한 더 자세한 논의는 도 7 및 서비스 테이블(717)과 관련하여 이후에 제공된다.
다음, 클라이언트 장치(421)는 선택된 서비스에 대응하는 생산성 애플리케이션내의 서비스 피처를 인에이블시킨다. 일부 실시예에서는, 클라이언트 장치(421)가 어떤 서비스 피처가 상기 선택된 서비스에 대응하는지를 결정할 수도 있다. 예를 들어, 클라이언트 장치(421)상에서 실행중인 피처 인에이블먼트 클라이언트(427)는 다양한 서비스와 연관하여 다양한 서비스 피처의 신원을 저장하고 있는 피처 테이블(feature table)에 액세스할 수 있다. 사용자와 연관된 서비스의 식별을 서비스 관리 시스템(403)으로부터 수신하는 즉시, 피처 인에이블먼트 클라이언트(427)는 피처 테이블에 액세스하고, 특히 어떤 서비스 피처가 인에이블되는지를 결정할 것이다.
선택적으로, 피처 테이블은 클라이언트 장치(421)로부터 떨어져 있는 다른 시스템(도시 안 됨)에 의해 보유될 수도 있다. 피처 인에이블먼트 클라이언트(427)는 어떤 서비스 피처가 인에이블되는지에 관한 정보를 얻기 위해 상기 시스템에 질의할 수도 있다. 또다른 대안으로서, 서비스 관리 시스템(403)가 스스로 피처 테이블을 저장할 수도 있고, 피처 인에이블먼트 클라이언트(427)에게 어떤 서비스 피처가 인에이블되는지 지시하는 정보를 제공할 수도 있다.
또다른 실시예에서, 생산성 애플리케이션(425)내의 각각의 서비스 피처는 스스로 인에이블될 수 있다. 이것은 클라이언트 장치(421)에 저장되거나 그렇지 않으면 클라이언트 장치(421)로부터 떨어져서 저장된 서비스 테이블에 질의하는 각각의 서비스 피처에 의해 발생되어, 사용자와 연관된 서비스 관리 시스템(403)에 의해 어떤 서비스가 식별되었는지를 결정한다. 이후, 각각의 서비스 피처는 스스로 인에이블될 수 있는데, 이때 식별된 서비스중 어떤 것이든지 각각의 서비스 피처에 의해 유지된 기준들과 일치해야 한다.
서비스 관리 시스템(403)은 서비스 정보를 클라이언트 장치(421)로 복귀시킬 것이고, 이것으로 생산성 애플리케이션은 서비스(491)와 통신할 수 있음을 주목해야 한다. 서비스 정보의 일 예로, 사용자에 의해 이용되는 서비스의 인스턴스를 식별하는 서비스 식별자가 있다. 다른 예로는, 서비스와 관련해 인에이블되는 능력(capabilities)의 목록이 있다. 또다른 예로서, 서비스에서 사용자에 의해 이용되는 사용자 식별자가 있는데, 예컨대 P2P 핸들(peer-to-peer handle) 또는 소셜 네트워크 사용자 이름(username)이 있다. 특별한 서비스를 위해 사용자 프로파일에 링크하는 사용자 프로파일 URL(user profile uniform resource locator)은 서비스 정보의 또다른 예이다. 이미 선택된 서비스에 대해 연결-특정 URL(connection-specific URL)이 제공될 수도 있고, 최근 세션이 여전히 진행중이거나 최근에 중지된 서비스에 대해 연결-특정 토큰이 제공될 수도 있다. 연결 상태 정보와 최종 수정 날짜 정보가 서비스 정보의 다른 예이다.
도 5에는 서비스 애플리케이션(491)이 서비스 정보를 서비스 관리 시스템(403)에게 제공하는 것이 예시되어 있다. 서비스(491)가 이런 방식으로 서비스 정보를 직접 제공할 필요가 없음을 이해해야 한다. 오히려, 서비스(491)는 정보중 일부를 발행할 수 있을 것이고, 이것은 이후에 서비스 관리 시스템(403)을 유지보수하고 프로그래밍하는 것과 관련된 구성원 또는 자동화 도구에 의해 입수될 것이다. 서비스 관리 시스템(403)은 일부 시나리오에서 서비스 정보를 클라이언트 장치(421)로부터 입수할 수도 있다. 서비스 정보를 서비스 관리 시스템(403)에 제공하는 다양한 실시예들이 가능하다.
서비스(491)는 예컨대 서비스에 대응하는 인에이블된 서비스 피처의 선택에 의해 호출(invoke)될 수 있다. 클라이언트 장치(421)는 인에이블된 서비스 피처에 의해 제공되는 기능을 수행하기 위해 서비스(491)에 대한 서비스 호출을 발생시킨다. 예를 들어, 서비스 피처가 전송 생산성 피처의 서브 피처일 수 있고, 이것이 호출되면, 콘텐츠를 클라이언트 장치(421)로부터 소셜 네트워킹 웹사이트로 전송할 수 있게 된다. 다른 예에서는, 서비스 피처가 저장 생산성 피처의 서브 피처일 수 있고, 이것이 호출되면, 클라이언트 장치(421)에서 생성된 콘텐츠가 클라우드 저장 서비스에 저장될 수 있다. 생산성 피처와 서비스 피처는 예컨대 콘텐츠를 전송, 공유 또는 저장하는 것과 같은 관련 기능을 호출하는 커맨드 혹은 일부 다른 유형의 제어인 것을 간주될 수 있음을 유의해야 한다.
도 6은 호스트형 애플리케이션을 수반하는 다른 가능한 시나리오를 설명하는 동작 흐름도(600)를 예시한다. 이 시나리오에서, 클라이언트 장치(431)는 호스트형 애플리케이션 서버(439)에 사용자에 대응하는 사용자 신원을 제공한다. 사용자 신원은 생산성 애플리케이션에 대한 로그인 동작 동안, 그렇지 않으면 운영체계에 대한 로그인 동작동안 사용자에 의해 제공될 수도 있다.
사용자 신원을 언제 제공하는지와 상관없이, 애플리케이션 서버(439)는 사용자를 인증하고, 예컨대 개방형 통신 네트워크(401)를 통해 서비스 관리 시스템(403)에 배달 요구(a request for delivery)를 전송함으로써 사용자 신원을 서비스 관리 시스템(403)으로 전송한다. 서비스 관리 시스템(403)은 어떤 서비스가 사용자와 연관되는지를 식별하도록 진행하고, 개방형 통신 네트워크(401)를 통해 배달된 응답에 의해 애플리케이션 서버(439)로 선택된 서비스의 지시를 복귀시킨다. 서비스 관리 시스템(403)은 또한 애플리케이션 서버(439)로 서비스 종보를 복귀시킬 수도 있는데, 이 정보를 이용해 생산성 애플리케이션은 서버(491)와 통신한다. 전술한 바와 같이, 서비스 정보의 몇몇 예로서, 서비스 식별자, 서비스에 대해 인에이블된 능력들, 서비스에 대한 사용자 이름, 사용자 프로파일 URL, 연결-특정 URL, 토큰 등이 있다.
도 6에는 서비스 애플리케이션(491)이 서비스 정보를 서비스 관리 시스템(403)에게 제공하는 것이 도시되어 있다. 이것이 직접적인 방식으로 발생할 필요는 없지만, 발행된 자원으로부터 서비스 정보를 입수하여 서비스 관리 시스템(403)을 유지보수 및 프로그래밍하는 구성원을 수반하거나 자동화 도구를 이용하는 것을 수반할 수도 있음을 이해해야 한다. 다른 실시예로, 서비스 관리 시스템(403)은 서비스 정보를 입수하기 위해 사용자를 대신해 서비스에게 능동적으로 질의한다. 또다른 실시예에서, 서비스 관리 시스템(403)은 클라이언트 장치로부터 서비스 정보를 입수한다. 서비스 관리 시스템(403)에 서비스 정보를 제공하는 다양한 방법이 가능함을 이해해야 한다.
다음, 애플리케이션 서버(439)는 선택된 서비스에 대응하는 생산성 애플리케이션내의 서비스 피처를 인에이블시킨다. 일부 실시예에서, 애플리케이션 서버(439)는 어떤 선택된 서비스에 어떤 서비스 피처가 대응하는지를 결정할 수도 있다. 도 5를 참조하여 설명한 것처럼, 다양한 메커니즘이 이러한 대응관계를 결정하는데 이용될 수 있는데, 예를 들면, 애플리케이션 서버(439)에 의해 보유되는 피처 테이블 등에 의한 대응관계 결정 및, 서비스 피처의 자체적인 인에이블링에 의한 대응관계 결정이 있다. 인에이블된 서비스 피처는 클라이언트 장치(431)를 조작중인 사용자에게 예컨대 웹 브라우저처럼 클라이언트 애플리케이션으로 제공되며, 이러한 클라이언트 애플리케이션은 애플리케이션 서버(439)와 상호작용하여, 인에이블된 관련 서비스 피처 모두와 함께 생산성 애플리케이션을 사용자에게 제공한다.
서비스(491)는 예를 들어 서비스에 대응하는 인에이블된 서비스 피처의 선택에 의해 호출될 수 있다. 다음, 클라이언트 장치(431)는 인에이블된 서비스 피처의 기능을 수행하기 위해 서비스(491)에 대한 서비스 호출의 지시를 발생시킨다. 호스트형 애플리케이션 서버(439)는 이 지시를 수신하여, 서비스(491)에 대한 대응하는 서비스 호출을 전달한다. 예를 들어, 서비스 피처는 전송 생산성 피처의 서브 피처일 수 있고, 이것이 호출되면, 서비스(491)에 대한 콘텐츠의 전송이 허용된다.
도 7 및 도 8은 향상된 피처 환경(700A) 및 향상된 피처 환경(700B)을 각각 예시하는데, 이들은 도 4의 클라이언트 장치와 서비스 관리 시스템의 구성성분과, 서비스 피처의 동적인 인에이블먼트를 수행하는 그들 사이의 동작을 더 자세히 보여준다. 특히, 도 7은 사용자가 서비스에 콘텐츠를 업로드하기 위해 생산성 애플리케이션의 서비스 피처와 상호작용하는 일 실시예를 도시한다. 도 8은 사용자가 다른 서비스로부터 이미지를 다운로드받기 위해 생산성 애플리케이션의 다른 서비스 피처와 상호작용하는 일 실시예를 도시한다.
클라이언트 장치(421)의 관점에서 논의되고 있지만 도 7 및 도 8에 설명된 동작들은 도 4의 향상된 피처 환경(400)의 다른 장치들에도 광범위하게 적용 가능함을 이해해야 한다. 마찬가지로, 도 7 및 도 8에 도시된 장치들의 구조적 요소들은 비록 일부 변형이 존재할 수 있을지라도 도 4에 도시된 장치와 시스템에도 전반적으로 적용 가능하다.
도 7에서, 향상된 피처 환경(700A)은 서비스 관리 시스템(403), 클라이언트 장치(421) 및 서비스(491)를 포함한다. 서비스 관리 시스템(403)은 클라이언트 장치(421) 및 서비스(491)와 통신한다. 마찬가지로, 클라이언트 장치(421)는 서비스 관리 시스템(403) 및 서비스(491)와 통신한다.
서비스 관리 시스템(403)은 처리 시스템(705), 통신 인터페이스(709) 및 메모리(707)를 포함한다. 처리 시스템(705)은 통신 인터페이스(709) 및 메모리(707)와 동작적으로 링크되고, 메모리(707)에 저장된 소프트웨어를 실행할 수 있다. 소프트웨어를 실행할 때, 처리 시스템(705)은 일반적으로 통신 인터페이스(709)를 포함하는 서비스 관리 시스템(403)을 본원에 설명된 것처럼 동작하도록 구동한다. 처리 시스템(705)의 예로서, 제한적인 것은 아니지만, 범용 중앙 처리 장치, 애플리케이션 특정 프로세서 및 그래픽 프로세서가 있다. 메모리(707)의 예로는, RAM, ROM, 자기 디스크, 광학 디스크 및 플래시 메모리가 있으며, 이들의 조합이나 변형 또는 임의의 다른 유형의 저장 매체도 있다. 통신 인터페이스(708)는 예를 들면, 분산형 컴퓨터 및 통신 환경에서 유선 혹은 무선 네트워크를 통해 서비스 관리 시스템(403)으로 하여금 다른 장치와 통신할 수 있게 하는 통신 연결과 장치를 포함할 수도 있다.
전술한 것처럼, 처리 시스템(705)은 메모리(707)에 저장된 소프트웨어를 실행한다. 도 7은 피처 인에이블먼트 서버(407) 및 운영체계(719)를 포함해서 메모리(707)에 담긴 소프트웨어의 확장도를 제공한다. 피처 인에이블먼트 서버(407)는 카탈로그 모듈(catalog module)(712), 연결 모듈(713), 서비스 추가 모듈(715) 및 서비스 제거 모듈(716)을 포함한다.
카탈로그 모듈(712)은 사용자가 액세스할 수 있는 가능한 서비스의 카탈로그를 제공한다. 연결 모듈(714)은 사용자가 어떤 서비스에 현재 연결되는지 감시하는 반면, 이용 가능성 모듈(availability module)(714)은 사용자가 어떤 서비스와 연관되고 연결되길 원하는지 추적하는 것으로, 이 두 모듈에 관한 것은 이후에 상세히 논의될 것이다. 서비스 추가 모듈(715)은 사용자가 연결 모듈(713) 및 이용 가능성 모듈을 이용해 신규 서비스를 추가할 수 있는 메커니즘을 제공한다. 마찬가지로, 서비스 제거 모듈(716)은 사용자가 서비스를 제거할 수 있는 메커니즘을 제공한다.
서비스 테이블(717)도 제공되는데, 이것은 다양한 사용자 및 그 연관된 다양한 서비스에 대한 정보를 보유한다. 서비스 테이블(717)은 이용 가능성 모듈(714)이 어떻게 어떤 서비스가 어떤 사용자와 연관되는지를 결정하는지 보여주기 위해 비교적 간단히 예시된다. 간단한 실시예로서, 사용자 A는 서비스(491, 493)와 연관되고, 사용자 B는 서비스(493, 495)와 연관되며, 사용자 M은 서비스(491, 495)와 연관되고, 사용자 N은 3개의 서비스(491, 493, 495)에 모두 연관된다. 클라이언트 장치로부터 사용자와 연관된 관련 서비스를 식별하라는 요구를 수신하는 즉시, 이용 가능성 모듈(714)은 아마도 독자적으로 혹은 연결 모듈(713)과 조합적으로 서비스 테이블(717)에 액세스하여, 해당 사용자와 연관된 서비스를 식별한다. 테이블 형식이 아니라 이러한 정보를 추적하는 더 복잡한 방식과 더 복잡한 데이터 구조도 가능하다. 다른 모듈들도 서비스 테이블(717)에 대해 동작하거나 액세스할 수 있을 것이다.
서비스 테이블(717)은 다수의 방식으로 보유될 수 있다. 일 실시예로, 서비스 테이블(717)은 사용자가 어떤 서비스에 연관되는지를 결정하는 요구가 수행되는 시점에 사용자별로 파퓰레이트(populated)된다. 이 실시예에서, 서비스 관리 시스템(403)은 클라우드 서비스(491, 493, 495)와 통신하여, 요청 사용자가 각각의 서비스와 연관되고 그에 따라 서비스 테이블(717)에 파퓰레이트되는지를 결정한다. 다른 실시예로, 서비스 관리 시스템(403)은 어떤 서비스가 어떤 사용자와 연관있는지 결정하도록 주기적으로 클라우드 서비스(491, 493, 495)에 질의할 수 있다. 어느 경우에든, 서비스 관리 시스템(403)은 생산성 애플리케이션(425)을 이용하기 위해 사용자에 의해 제공된 로그인 신원을 이용해 적어도 일부 클라우드 서비스에게 해당 로그인 신원이 해당 클라우드 서비스를 액세스한 것과 동일한 신원인지를 질의할 수 있을 것이다. 그러나, 서비스 관리 시스템(403)은 예컨대 서비스-특정 신원처럼 사용자와 관련한 다른 신원으로 질의할 수도 있다. 서비스-특정 신원은 사용자가 자신이 연관될 어떤 서비스를 선택하는 시점에 서비스 카탈로그(736)를 통해 사용자에 의해 제공될 수 있다.
또다른 실시예로, 서비스 테이블(717)은 클라이언트 장치에 의해 제공된 정보에 기반하여 파퓰레이드될 수 있다. 예로서, 서비스 카탈로그(736)내의 서비스의 적어도 일 부분집합에 대한 사용자 선택에 기반하여, 피처 인에이블먼트 클라이언트(427)는 상기 선택을 서비스 테이블(717)에 저장하기 위해 서비스 관리 시스템(403)에 통신한다. 이 예에서, 선택된 서비스의 상기 부분집합은 서비스(491)와 서비스(493)를 포함한다.
이러한 실시예들의 조합과 변형들도 가능하다. 예로서, 서비스 테이블(717)은 처음에는 클라이언트 장치에 의해 제공된 정보에 기반하여 파퓰레이트될 수 있지만, 그 이후에는 주기적으로 또는 요구마다 갱신될 수 있다.
클라이언트 장치(421)는 처리 시스템(723),메모리(725), 통신 인터페이스(727) 및 사용자 인터페이스(729)를 포함한다. 처리 시스템(723)은 메모리(725), 통신 인터페이스(727) 및 사용자 인터페이스(729)와 동작적으로 링크되고, 메모리(725)에 저장된 소프트웨어를 실행할 수 있다. 소프트웨어를 실행할 때, 처리 시스템(723)은 일반적으로 사용자 인터페이스(729)와 통신 인터페이스(727)를 포함하는 클라이언트 장치(421)를 본원에 설명된 것처럼 동작하도록 구동한다. 처리 시스템(723)의 예로서, 범용 중앙 처리 장치, 애플리케이션 특정 프로세서 및 그래픽 프로세서가 있고, 임의의 다른 유형의 처리 장치도 가능하다. 메모리(725)의 예로는, RAM, ROM, 자기 디스크, 광학 디스크 및 플래시 메모리가 있으며, 이들의 조합이나 변형 또는 임의의 다른 유형의 저장 매체도 가능하다. 통신 인터페이스(727)는 예를 들면, 분산형 컴퓨터 및 통신 환경에서 유선 혹은 무선 네트워크를 통해 클라이언트 장치(421)로 하여금 다른 장치와 통신할 수 있게 하는 통신 연결과 장치를 포함할 수도 있다. 사용자 인터페이스(729)는 예컨대 키보드, 마우스, 음성 입력 장치 또는 터치 입력 장치같은 입력 장치를 가질 수 있고, 그와 견줄 수 있는 입력 장치들을 가질 수도 있다. 예컨대 디스플레이, 스피커, 프린터같은 출력 장치와 그 밖의 유형의 출력 장치도 포함될 수 있을 것이다.
전술한 것처럼, 처리 시스템(723)은 메모리(725)에 저장된 소프트웨어를 실행한다. 도 7은 생산성 애플리케이션(425), 피처 인에이블먼트 서버(427) 및 운영체계(732)를 포함해서 메모리(725)에 담긴 소프트웨어의 확장도를 제공한다.
생산성 애플리케이션(425)은 생산성 피처(733), 생산성 피처(734) 및 서비스 피처(735)를 포함한다. 도 7은 또한 서비스 피처(791)와 서비스 피처(793)를 포함하는 생산성 피처(733) 내부에 포함된 서비스 피처를 예시한다. 서비스 피처(791)는 도 4에 도시된 서비스(491)에 대응하도록 기획된 것이다. 마찬가지로, 서비스 피처(793)는 도 4에 도시된 서비스(493)에 대응하도록 기획된 것이다. 생산성 피처(733) 내부에 서비스 피처(791)와 서비스 피처(793)를 함께 도시한 것은 생산성 애플리케이션(425)에 로그인한 사용자 A와 서비스(491, 493)의 연관관계에 기반하여 서비스 피처(791, 793) 모두의 인에이블먼트를 설명하기 위해서이다. 실제로, 서비스 관리 시스템(403)의 서비스 테이블(717)도 이러한 관계들을 설명한다.
도시된 것에서 알 수 있듯이, 생산성 애플리케이션(425)은 서비스 카탈로그(736)를 포함한다. 서비스 카탈로그(736)는 서비스(491), 서비스(493) 및 서비스(495)의 그래픽 표현들을 포함하고, 이 그래픽 표현들은 도 4에 도시된 것과 같은 서비스에 대응한다. 이 실시예에서, 서비스(491)는 선택된 것으로 도시되고, 서비스(493)도 마찬가지이다. 이러한 선택은 통신 인터페이스(727)를 통해 클라이언트 장치(421)로부터 서비스 관리 시스템(403)으로 통신되고, 궁극적으로는 서비스 테이블(717)에 저장된다.
서비스 카탈로그(736)는 여러 번 시용자에게 제공될 수 있다. 예로서, 생산성 애플리케이션을 개시하는 즉시, 사용자에게는 서비스 카탈로그(736)가 제공될 수 있다. 이것은 매번 발생할 수도 있지만 주기적으로 발생할 수도 있고, 또는 신규 서비스가 이용가능할 때 발생할 수도 있다. 서비스 카탈로그(736)는 예컨대 서비스 카탈로그(736)를 개시하는 피처 메뉴에서 선택을 수행함으로써 사용자에 의해 선택되는 즉시 제공될 수 있다. 서비스 카탈로그(736)는 생산성 피처의 선택시 사용자에게 제공될 것이다. 예로서, 사용자는 저장 생산성 피처를 선택할 수 있고, 그 즉시 서비스 카탈로그(736)가 사용자에게 제공될 것이다.
서비스 카탈로그(736)가 별개의 카탈로그 또는 독립형 요소로서 제공될 필요는 없음을 이해해야 한다. 오히려, 서비스(491, 493, 495)의 그래픽 표현들이 예컨대 피처(733, 734, 735)처럼 생산성 피처 내부에 제공될 수도 있다. 서비스 카탈로그(736)는 운영체계(732)와 통합되어 운영체계의 일부로서 제공될 수도 있다. 서비스 카탈로그(736)를 제공하는 다른 실시예들도 고려되고, 이러한 다른 실시예들은 본원에 논의된 내용을 제한하지 않아야 한다. 서비스 카탈로그(736)는 카탈로그를 파퓰레이트하는데 필요한 정보를 입수하기 위해 카탈로그 모듈(712)과 통신할 수 있다.
생산성 애플리케이션(425)의 다양한 요소들은 애플리케이션 자체와 함께 사용자 인터페이스(729)를 통해 사용자에게 제공될 수 있음을 이해해야 한다. 생산성 애플리케이션(425)과 그 요소들이 메모리(725)에 소프트웨어로서 상주하는 동안, 처리 시스템(723)에 의한 이 소프트웨어의 실행으로 인해 사용자 인터페이스(729)는 운영체계(732)와 생산성 애플리케이션(425)의 다양한 양상들을 사용자에게 디스플레이하도록 구동되는데, 예를 들면, 디스플레이 시스템상에 이미지를 디스플레이하도록 구동된다. 마찬가지로, 사용자 인터페이스(729)도 사용자가 생산성 애플리케이션(425)과 상호작용할 수 있게 해주는 다른 입력 구성성분들을 포함할 수 있는데, 예컨대 마우스를 클릭하는 것, 또는 일부 다른 입력 장치에게 도 7에 도시된 생산성 피처, 서비스 피처 또는 카탈로그 요소중 어떤 것을 선택하도록 지시하는 것 등등이 있다.
이후에는 일 실시예의 향상된 피처 환경(700A)의 동작을 논의한다. 이 실시예에서, 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 상호동작을 통해, 서비스(491)에 대응하여 서비스 피처가 인에이블되고 호출된다. 이것은 약간의 변형은 가능하지만 도 4에 도시된 다른 요소들중 임의의 요소에도 적용될 수 있는 실시예적인 예시이며, 설명의 단순화를 위해 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 상호작용으로 제한된다.
동작시, 사용자 A는 생산성 애플리케이션(425)에 로그인한다. 사용자 A는 선택적으로 혹은 동시에 운영체계(732)에 로그인될 수 있고, 더불어 생산성 애플리케이션(425)에게 사용자의 신원을 통신할 수 있는 몇몇 다른 애플리케이션에도 로그인될 수 있다. 이 실시예에서, 사용자 A는 도 4와 관련하여 설명된 것처럼 개인 신원하에 로그인된다. 동작시, 사용자는 생산성 애플리케이션(425)과 작업하여 애플리케이션 콘텐츠(737)를 생성하는데, 본 실시예에서 이것은 워드 프로세싱 문서이다. 생산성 피처(733, 734)와 서비스 피처(735)는 사용자 인터페이스(729)상에서 사용자에게 디스플레이된 그래픽 사용자 인터페이스를 통해 생산성 애플리케이션(425)내에서 사용자에 대해 이용가능하다.
피처 인에이블먼트 클라이언트(427)는 생산성 애플리케이션(425)내에서 어떤 서비스 피처가 인에이블되는지 결정한다. 피처 인에이블먼트 클라이언트(427)는 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 통신으로 피처 인에이블먼트 서버(407)에게 질의한다. 전술한 것처럼, 서비스 관리 시스템(403)은 서비스 테이블(717)을 보유하고, 이 서비스 테이블은 사용자 신원을 다양한 서비스와 연관하여 저장하고 있다. 테이블(717)에서, 사용자 A는 서비스(491) 및 서비스(493)와 연관된다. 사용자 B는 서비스(493, 495)와 연관된다. 사용자 M은 서비스(491, 495)와 연관된다. 사용자 N은 세 개의 서비스(491, 493, 495) 모두와 연관된다. 이러한 연관 관계는 사용자가 그 연관성을 서비스 관리 시스템(403)으로 제공함으로써 만들어지거나 몇몇 다른 수단에 의해 만들어진다. 전술한 것처럼, 사용자는 예컨대 서비스 카탈로그(736)를 통해 이러한 연관관계를 제공할 수 있다.
소정의 사용자와 연관된 소정의 생산성 애플리케이션에 대해 어떤 피처를 인에이블할 것인지 결정하기 위해, 테이블(717)을 찾아보던가 아니면 어떤 서비스가 해당 사용자와 연관되는지를 식별하도록 이용 가능성 모듈(714)에 의해 질문(interrogated)된다. 생산성 애플리케이션(425)이 사용자 A와 연관되므로, 서비스(491)에 대응하는 서비스 피처(791)가 인에이블되어 사용자에 대해 이용 가능해진다. 마찬가지로, 서비스(493)에 대응하는 서비스 피처(793)도 인에이블된다. 그러나 서비스(495)에 대응하는 서비스 피처는 인에이블되지 않으며, 이것은 생산성 애플리케이션(425)의 디스플레이에 나타나지 않음으로써 입증된다.
향상된 피처 환경(700A)은 서비스 피처가 생산성 피처의 서브 피처일 수도 있음을 보여주기 위한 것이다. 예를 들어, 서비스 피처(791)와 서비스 피처(793)는 생산성 피처(733)의 서브 피처로서 도시된다. 도 7은 단순히 서비스 피처의 인에이블먼트를 설명하기 위해 생산성 피처를 확장도로 도시하지만, 생산성 피처(734)와 서비스 피처(735)가 역시 인에이블될 수 있는 다른 서브 피처 또는 서비스 피처를 포함할 수도 있음이 고려된다.
생산성 피처(733)와 인에이블된 서비스 피처는 임의의 개수의 기능을 제공한다. 이 경우, 예시적 목적으로, 생산성 피처(733)가 전송 피처이고, 서비스 피처(791)는 생산성 피처(733)가 서버(491)로 콘텐츠를 전송할 수 있게 하는 것으로 가정되며, 이것은 화살표(787)로 도시되어 있다. 따라서 서비스(491)는 콘텐츠(737)를 생산성 애플리케이션(425)에 의해 발생 및 전송되는 즉시 호스트하는 것이 가능하다.
전술한 바와 같이, 서비스 피처를 인에이블링하는 것은 다수의 방식으로 발생할 수 있다. 많은 가능한 방식중 일부 실시예로서, 서비스 피처를 그래픽 표현으로 렌더링하기 위해 서비스 피처에 대응하는 그래픽 객체를 호출하는 것과, 인에이블된 서비스 피처의 그래픽 표현의 시각적 특성을 변경하기 위해서 서비스 피처에 대응하는 그래픽 객체 내부의 값 또는 설정을 변경하는 것을 들 수 있다. 그래픽 객체는 자신과 연관된 실행 가능 코드를 가질 수 있는데, 이 실행 가능 코드는 사용자가 콘텐츠에 적용하길 원하는 동작 기능을 제공하는 것이다. 예로서, 저장 피처는 클라이언트 장치(421)를 구동하여 콘텐츠를 저장히게 한다. 마찬가지로, 전송 피처는 클라이언트 장치(421)를 구동하여 콘텐츠를 목적지로 전송하게 한다.
이제 도 8을 참조하면, 향상된 피처 환경(700B)은 서비스 관리 시스템(403), 클라이언트 장치(421) 및 서비스(493)를 포함한다. 서비스 관리 시스템(403)은 서비스9493)와 더불어 클라이언트 장치(421)와 통신한다. 마찬가지로, 클라이언트 장치(421)는 서비스(493)와 함께 서비스 관리 시스템(403)과 통신한다.
다음은 일실시예의 향상된 피처 환경(700B)의 동작을 논의한다. 이 실시예에서, 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 상호동작을 통해, 서비스(493)에 대응하여 서비스 피처가 인에이블되고 호출된다. 이것은 약간의 변형은 가능하지만 도 4에 도시된 다른 요소들중 임의의 요소에도 적용될 수 있는 실시예적인 예시이며, 설명의 단순화를 위해 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 상호작용으로 제한된다.
도 7과 관련하여 전술한 바와 같이, 사용자 A는 생산성 애플리케이션(425)에 로그인되지만, 선택적으로 혹은 동시에 운영체계(732)에 로그인될 수 있다. 이 실시예에서, 사용자 A는 도 4와 관련하여 설명된 것처럼 개인 신원하에 로그인된다. 동작시, 사용자는 생산성 애플리케이션(425)과 작업하여 애플리케이션 콘텐츠(737)를 발생하는데, 본 실시예에서 이것은 워드 프로세싱 문서이다. 생산성 피처(733, 734)와 서비스 피처(735)는 사용자 인터페이스(729)상에서 사용자에게 디스플레이된 그래픽 사용자 인터페이스를 통해 생산성 애플리케이션(425) 내에서 사용자에 대해 이용가능하다.
피처 인에이블먼트 클라이언트(427)는 생산성 애플리케이션(425)내에서 어떤 서비스 피처가 인에이블되는지 결정한다. 피처 인에이블먼트 클라이언트(427)는 클라이언트 장치(421)와 서비스 관리 시스템(403) 사이의 통신으로 피처 인에이블먼트 서버(407)에게 질의한다. 생산성 애플리케이션(425)은 사용자 A와 연관되므로, 사용자 A와 연관된 서비스에 대응하는 서비스 피처가 인에이블된다. 서비스 테이블(717)은 사용자 A가 서비스(491, 493)와 연관됨을 보여준다. 그러므로 서비스(491, 493)와 연관된 서비스 피처가 인에이블된다. 예시를 위해, 본원에서는 서비스 피처(893)가 서비스(393)와 연관된다고 가정하고, 따라서 서비스 피처(893)이 인에이블되어 사용자에 대해 이용가능하게 된다.
이 경우, 예시를 위해 생산성 피처(734)는 사용자가 이미지를 애플리케이션 콘텐츠(734)에 삽입할 수 있게 하는 삽입 이미지 피처인 것으로 가정된다. 서비스 피처(891)는 사용자가 애플리케이션 콘텐츠(737)에 삽입할 이미지나 다른 콘텐츠를 검색하게 하는 검색 엔진(도시 안 됨)에 대응하는 특정 삽입 피처로서 제공된다. 서비스 피처(893)는 서비스(493)에 대응하는 특정 삽입 피처로 제공되는데, 이것은 사용자가 이미지 공급원(757)으로부터 이미지를 서비스(493)에 삽입할 수 있게 해준다. 예시를 위해, 사용자는 서비스 피처(893)를 선택하고, 이미지 공급원(757)으로부터 이미지를 다운로드하도록 선정하고, 이 이미지를 애플리케이션 콘텐츠(737)에 삽입한다고 가정하며, 이러한 절차는 화살표(777)로 표시되어 있다. 상기 이미지는 서비스(493)로부터 전달되어 애플리케이션 콘텐츠(737)에 삽입된다.
서비스 피처(891, 893)내에는 애플리케이션(737)에 삽입될 수 있는 것과 관련있는 그래픽이 표면화될 수 있음을 유의해야 한다. 서비스 피처(891)의 경우, 사용자가 검색어를 입력할 수 있는 검색란이 사용자에게 디스플레이될 수 있다. 서비스 피처(893)와 관련하여, 이미지 공급원(757)에 저장된 이미지의 표현들이 사용자에게 디스플레이될 수 있어서, 사용자가 애플리케이션 콘텐츠(737)에 삽입하길 원하는 이미지(들)를 선택하는 것이 가능해진다. 사용자는 또한 추가 서비스 피처(895)로 서비스 피처를 추가할 수도 있다. 추가 서비스 피처(895)내에는 두 개의 가능한 서비스―사진 서비스 및, 사용자가 관련 서비스로서 연결 및 추가하길 원하는 구동 서비스―의 그래픽 표현이 디스플레이된다. 추가 서비스 피처(895)가 생산성 피처(895)의 서브 피처로 도시되어 있지만, 유사한 추가 피처가 독립형 피처 또는 다른 생산성 피처의 서브 피처로서 제공될 수 있음을 이해해야 한다.
도 8에서, 서비스 피처(891)는 서비스 피처(893)와 함께 제공되는데, 이것은 사용자와 연관된 서비스에 대응하는 일부 서비스 피처가 동적으로 인에이블되지만 사용자와 대응 서비스사이에 연관관계가 존재한다면 다른 서비스 피처도 인에이블되거나 사용자에 대해 표면화될 수 있음을 설명하기 위해서이다. 이 실시예에서, 서비스 피처(891)는 검색 엔진 서비스에 대응하고, 반면에 서비스 피처(893)는 서비스(493)에 대응한다. 이것은 사용자와 연관된 서비스가 아닌 서비스와 연관된 서비스 피처가 생산성 애플리케이션(425)내에서 표면화될 수 있음을 설명하기 위한 것이다.
전술한 바와 같이, 서비스 피처를 인에이블링하는 것은 다수의 방식으로 일어난다. 많은 가능한 방식중 일부 실시예로서, 서비스 피처를 그래픽 표현으로 렌더링하기 위해 서비스 피처에 대응하는 그래픽 객체를 호출하는 것과, 인에이블된 서비스 피처의 그래픽 표현의 시각적 특성을 변경하기 위해서 서비스 피처에 대응하는 그래픽 객체 내부의 값 또는 설정을 변경하는 것을 들 수 있다. 그래픽 객체는 자신과 연관된 실행 가능 코드를 가질 수 있는데, 이 실행 가능 코드는 사용자가 콘텐츠에 적용하길 원하는 동작 기능을 제공하는 것이다. 예로서, 저장 피처는 클라이언트 장치(421)를 구동하여 콘텐츠를 저장히게 한다. 마찬가지로, 전송 피처는 클라이언트 장치(421)를 구동하여 콘텐츠를 목적지로 전송하게 한다.
다음의 논의는 마이크로소프트® 오피스™ 스위트 애플리케이션을 수반하는 다양한 실시예에 적용된다. 또한, 도 9 및 도 10은 마이크로소프트®와 다른 제 3자 공급자에 의해 제공된 서비스들이 사용자의 오피스™ 애플리케이션에 연결되어 통합될 때 사용자가 마주하게 될 수 있는 사용자 인터페이스를 예시하는 스크린 화면(screen shots)을 담고 있다. 사용자가 이 서비스들을 선택 및 이용함에 따라, 오피스™를 실행중인 클라이언트 또는 이 클라이언트와 통신중인 서비스 관리자, 또는 양자 모두는 사용자가 이 장치 저 장치를 로밍하더라도 이 서비스들을 유지한다. 웹, 모바일, 데스크탑, 랩탑 플랫폼, 혹은 임의의 종류의 플랫폼을 실행하는 임의의 오피스 클라이언트는 전술한 내용을 수행하기 위해 서비스 관리자와 상호작용할 것이다.
서비스 관리자는 그 스스로가 호스트형 서비스로, 사용자를 인증하고, 사용자가 이미 연결된 서비스에 대한 정보나 사용자에 의해 연결 가능한 서비스에 대한 정보를 복귀시킨다. 서비스 관리자는 다양한 서비스와 통신하여, 대응하는 서비스 피처를 인에이블하는데 필요한 정보를 입수한다. 이러한 정보는 시간에 따라 바뀌므로, 전술한 것처럼 서비스 관리자를 이용하면 생산성 애플리케이션은 서비스가 변경되거나 신규 서비스가 이용가능해짐에 따라 생기는 정보 노후화(obsolescence)를 피할 수 있게 된다. 이것은 서비스 관리자가 서비스와 인터페이스한 뒤, 서비스 피처를 인에이블하도록 생산성 애플리케이션과 인터페이스함으로써 수행된다.
이 실시예에서, 사용자는 윈도우즈 라이브® 식별자와 오피스 365™ 식별자를 이용하는 것을 포함해서 몇 가지 방식으로 식별될 수 있다. 사용자가 제3자 식별자에 의해 식별될 수도 있음을 이해해야 한다. 일단 관련 서비스가 식별되고 그 연관된 서비스 피처가 인에이블되면, 사용자는 서비스 피처를 통해 서비스와 직접적으로 상호작용하여, 오피스™ 애플리케이션의 서비스에 콘텐츠를 업로딩하거나 서비스로부터 생긴 콘텐츠를 오피스™ 애플리케이션을 이용하여 생성된 문서에 직접 삽입하는 등의 조치를 수행할 수 있다. 또한, 사용자와 연관된 클라우드 저장 서비스에 의해 저장된 파일들을 오피스™ 애플리케이션에서 개방하는 것도 가능해질 것이다. 마찬가지로, 사용자와 연관된 클라우드 저장소에 파일을 저장하는 것은 오피스™ 애플리케이션 내로부터도 가능할 것이다. 또다른 실시예로, 사용자와 연관된 소셜 네트워킹 웹사이트로부터의 접촉이 오피스™ 애플리케이션내에서 이용 가능하게 될 것이다.
이제 도 9를 참조하면, 동적으로 인에이블된 서비스 피처를 갖는 생산성 애플리케이션과 작업할 때 마주할 수 있는 사용자 인터페이스(900)의 스크린 화면이 예시된다. 특히, 사용자 인터페이스(900)는 견본 작성자 제레미(Jeremy)가 만든 견본의 이력서를 보여주는 마이크로소프트® 워드 문서 편집기에서의 견본 화면을 제공한다.
사용자 인터페이스(900)는 클라이언트 장치에 의해 사용자에게 렌더링 및 디스플레이될 것인데, 예컨대 이것은 이전의 도면들에 예시된 것처럼 생산성 애플리케이션(901)을 실행하여 디스플레이된다. 사용자는 생산성 애플리케이션(901)과 상호작용하여 예컨대 문서같은 콘텐츠(903)를 생성한다. 생산성 애플리케이션(901)은 디스플레이된 다양한 생산성 피처의 부분집합에 대응하는 그래픽 표현을 갖는 생산성 피처 메뉴(905)를 포함한다. 예로서, 피처 메뉴(905)는 생산성 피처의 파일(File) 카테고리, 홈(Home) 카테고리, 삽입(Insert) 카테고리, 페이지 레이아웃(Page Layout) 카테고리, 참조(Reference) 카테고리, 메일링(Mailings) 카테고리, 리뷰(Review) 카테고리 및 뷰(view) 카테고리를 위한 버튼을 포함한다. 이 예에서, 삽입 카테고리가 선택되고, 그 결과로 삽입 카테고리내의 생산성 피처에 대응하는 그래픽 아이콘들이 보여진다.
예시된 바와 같이, 삽입 카테고리(907)는 사용자로 하여금 부분 이미지(local image), 온라인 이미지, 비디오, 형상, 스마트 아트(smart art), 차트 및 스크린 화면을 삽입할 수 있게 하는 생산성 피처를 포함하여 많은 생산성 피처를 포함한다. 실제로, 삽입 카테고리(907)는 표지(cover page), 새 문서(blank page), 페이지 넘기기(page break), 표, 하이퍼링크, 북마크, 교차 참조(cross reference), 머리말(header), 꼬리말(footer) 및 쪽 번호(page number) 생산성 피처를 포함해서 몇 개의 다른 생산성 피처를 포함한다. 이러한 생산성 피처는 사용자가 콘텐츠와 관련한 기능을 수행할 수 있게 해주는데, 즉, 각각의 생산성 피처에 대해 그래픽 아이콘으로 표현된 아이템을 삽입할 수 있게 해준다. 예를 들어, 부분 이미지로 명명된 그래픽 아이콘을 클릭하면, 부분 이미지에 대한 생산성 피처가 사용자로 하여금 사진 또는 부분적으로 저장된 다른 유형의 이미지를 삽입할 수 있게 한다. 마찬가지로, 삽입 비디오 생산성 피처는 사용자가 콘텐츠(903)에 비디오를 삽입하는 것을 허용한다.
계속해서 도 9를 참조하면, 사용자 인터페이스(900)는 전술한 실시예들에서 논의된 서비스 피처의 관점을 제공한다. Inser Online Images 생산성 피처(911)를 선택하는 즉시, 삽입 온라인 이미지 메뉴(913)가 사용자에게 디스플레이된다. 삽입 온라인 이미지 메뉴(913)는 사용자가 이용 가능한 몇 개의 서비스 피처를 포함하는데, 이 서비스 피처는 사용자가 온라인 서비스와 관련된 콘텐츠(903)에 대해 기능을 수행할 수 있게 하는 것들이다. 이 경우, 세 개의 서비스 피처가 디스플레이되는데, 다시 말해서 서비스 피처(915), 서비스 피처(917) 및 서비스 피처(919)가 디스플레이된다.
서비스 피처(915)는 온라인 검색 서비스 마이크로소프트® 빙(Bing)™에 대응한다. 서비스 피처(915)는 사용자로 하여금 검색 서비스를 이용하여 콘텐츠(903)에 삽입할 이미지를 검색할 수 있게 한다. 특히, 사용자는 생산성 애플리케이션(901)에서 빠져 나오지 않고도 검색 스트링을 온라인 이미지 메뉴(913)내의 검색란(925)에 입력할 수 있다. 일부 실시예에서, 서비스 피처(915)는 다른 서비스에 내장 또는 포함된 서비스를 포함해 다른 온라인 검색 서비스에 해당할 수도 있다. 예로서, 서비스 피처(915)는 사용자로 하여금 소셜 네트워킹 서비스내에 저장된 콘텐츠를 검색할 수 있게 하는 검색 도구에 해당할 수도 있다.
서비스 피처(917)는 마이크로소프트® 오피스™에 에 의해 제공되는 온라인 클립 아트 저장소에 해당한다. 서비스 피처(917)는 office.com에서 사용자로 하여금 사진 및 해설의 리포지토리(repository)로부터 콘텐츠(903)에 삽입될 이미지를 검색할 수 있게 한다. 사용자는 생산성 애플리케이션(901)을 빠져 나오지 않고도 검색란(907)에 검색 스트링을 입력할 수 있다.
서비스 피처(919)는 페이스북 소션 네트워킹 온라인 서비스에 해당한다. 서비스 피처(919)는 사용자로 하여금 자신의 페이스북 게정으로부터 이미지(929)를 콘텐츠(903)에 삽입할 수 있게 한다. 사용자는 또한 삽입할 추가 이미지와 관련해 자신의 페이스북 게정을 검색할 수도 있다.
삽입 온라인 이미지 메뉴(913)는 추가 소스원 메뉴(931)를 제공하는데, 이들 메뉴는 인에이블된 서비스 피처(915, 917, 919)의 명단(roster)에 잠재적으로 추가될 수 있는 것이다. 예로서, 사용자는 전문적 네트워킹, 웹 포털 또는 메시지 서비스 뿐만 아니라 다른 유형의 온라인 서비스를 위해 소셜 네크워크와 연관된 서비스 피처를 인에이블시키고자 할 수도 있다. 사용자는 추가 소스 메뉴(931)내의 이러한 다른 서비스의 그래픽 표현들을 클릭하여, 이들 서비스에 연결하여 그 관련 서비스 피처를 인에이블링하는 프로세스를 개시한다.
전술한 실시예들과 관련해 언급한 바와 같이, 서비스 피처(915, 917, 919)는 사용자와 이 사용자의 대응하는 온라인 서비스 사이의 연관관계에 따라서 동적으로 인에이블될 수 있다. 예를 들어, 사용자 인터페이스(900)에서, 서비스 피처(919)는 생산성 애플리케이션(901)의 사용자, 즉 제레미(Jeremy)가 페이스북의 회원이므로 인에이블된다. 그러나, 일부 서비스 피처는 사용자가 대응하는 온라인 서비스와 연관되는지의 여부와 무관하게 항상 인에이블될 수도 있다. 예를 들어, 온라인 서비스에 대응하는 서비스 피처(915)는 지속적으로 인에이블될 수 있다.
이제 도 10을 참조하면, 계정 관리 화면(1001)을 보여주는 마이크로소프트® 워드 문서 편집기로부터 사용자 인터페이스(1000)의 스크린 화면이 예시되는데, 이 사용자 인터페이스는 표본 사용자 케이틀린(Kaitlin)로 하여금 자신이 연결된 서비스와 관련해 자신의 프로파일을 관리할 수 있게 하는 것이다. 이런 방식으로, 사용자는 생산성 피처내의 자신의 대응하는 서비스 피처가 인에이블될 수 있도록 자신이 연관된 온라인 서비스를 식별할 수 있게 된다.
사용자 인터페이스(1000)로부터 알 수 있듯이, 계정 관리 화면(1001)는 사용자의 신원에 대한 지시를 포함하고 있다. 이 경우, 케이틀린은 온라인 이메일 서비스와 연관된 핫메일® 식별자에 의해 식별된다. 계정 관리 화면(1001)은 사용자의 연결된 서비스(1005)의 목록도 사용자에게 디스플레이한다. 이 실시예에서, 케이틀린은 온라인 저장 드라이브, 온라인 생산성 스위트, 소셜 네트워킹 온라인 서비스 및 온라인 사진 서비스와 연관된다. 사용자에게는 추가 서비스 기능(1007)도 제공되는데, 이 기능은 사용자로 하여금 자신의 연결 서비스 목록(1005)에서 임의이 서비스를 추가 또는 제거할 수 있게 하는 것이다. 예컨대 새로 만들기, 열기, 저장 및 인쇄 기능 및 피처처럼 다른 표준 피처의 기능들도 메뉴(1009)에서 사용자는 이용가능할 것이다.
본원에 제시된 설명 및 도면은 본 기술분야에 숙련된 사람에게 가장 양호한 방식을 만들어서 이용하는 방법을 알려주기 위한 특정 실시예들을 묘사한다. 발명의 원리를 가르치기 위해, 일부 종래의 양상들은 단순화되거나 생략되었다. 본 기술분야에 숙련된 사람은 본 발명의 범주내에서 이러한 실시예들의 변형이 가능함을 인지할 것이다. 본 기술분야에 숙련된 사람은 전술한 피처가 다양한 방식으로 조합되어 다수의 실시예를 형성할 수 있음도 인지할 것이다. 결과적으로, 본 발명은 전술한 특정 실시예에 한정되는 것이 아니라, 오로지 특허청구범위와 그 등가인 것에 의해 한정된다.

Claims (20)

  1. 컴퓨팅 장치로서,
    하나 이상의 컴퓨터 판독가능한 매체와,
    상기 하나 이상의 컴퓨터 판독가능한 매체와 동작가능하게 연결된 처리 시스템과,
    상기 컴퓨터 판독가능한 매체에 저장되어 있는 프로그램 명령어를 포함하되,
    상기 프로그램 명령어는 상기 처리 시스템에 의해 실행되는 경우에, 상기 컴퓨팅 장치로 하여금 적어도,
    생산성 애플리케이션(productivity applications)에 로그인한 사용자를 식별하고,
    상기 사용자가 로그인한 하나 이상의 온라인 서비스를 식별하며,
    상기 생산성 애플리케이션에 대한 사용자 인터페이스를 통해, 복수의 생산성 피처를 포함하는 생산성 피처 메뉴(productivity feature menu)를 제시하고,
    상기 복수의 생산성 피처 중 하나의 생산성 피처의 선택에 응답하여, 상기 사용자 인터페이스를 통해, 상기 생산성 애플리케이션 내에 복수의 서비스 피처를 포함하는 서비스 피처 메뉴를 제시하며,
    상기 복수의 서비스 피처 중 상기 사용자가 로그인한 온라인 서비스에 대응하는 적어도 하나의 서비스 피처를 인에이블하고,
    상기 복수의 서비스 피처 중 상기 사용자가 로그인하지 않은 하나의 다른 온라인 서비스에 대응하는 적어도 하나의 다른 서비스 피처를 디스에이블하며,
    하나의 서비스 피처의 선택에 응답하여, 상기 온라인 서비스로부터 획득된 콘텐츠를 사용하여 상기 생산성 애플리케이션에 의해 생성된 콘텐츠에 대한 기능을 수행하도록 지시하는
    컴퓨팅 장치.
  2. 제1항에 있어서,
    상기 하나의 서비스 피처는 삽입 피처(insert feature)를 포함하고, 상기 기능은 상기 온라인 서비스와 연관된 콘텐츠를 상기 생산성 애플리케이션에 의해 생성된 상기 콘텐츠에 삽입하는 삽입 기능을 포함하는
    컴퓨팅 장치.
  3. 제1항에 있어서,
    상기 하나의 서비스 피처는 검색 피처를 포함하고, 상기 기능은 상기 온라인 서비스와 연관된 콘텐츠를 검색하는 검색 기능을 포함하는
    컴퓨팅 장치.
  4. 제1항에 있어서,
    상기 서비스 피처 메뉴는 상기 복수의 서비스 피처의 그래픽 표현을 포함하는
    컴퓨팅 장치.
  5. 제4항에 있어서,
    상기 복수의 서비스 피처의 그래픽 표현 중 상기 하나의 서비스 피처에 대응하는 하나의 그래픽 표현은 상기 온라인 서비스와 연관된 콘텐츠의 그래픽 표현을 포함하는
    컴퓨팅 장치.
  6. 제1항에 있어서,
    상기 온라인 서비스는 소셜 네트워킹 웹사이트를 포함하는
    컴퓨팅 장치.
  7. 제1항에 있어서,
    상기 온라인 서비스와 연관된 콘텐츠는 상기 온라인 서비스에 의해 상기 사용자의 프로파일 내에 저장된 이미지 또는 비디오를 포함하는
    컴퓨팅 장치.
  8. 생산성 애플리케이션을 조작하는 방법으로서,
    상기 생산성 애플리케이션(productivity applications)에 로그인한 사용자를 식별하는 단계와,
    상기 사용자가 로그인한 하나 이상의 온라인 서비스를 식별하는 단계와,
    상기 생산성 애플리케이션에 대한 사용자 인터페이스를 통해, 복수의 생산성 피처를 포함하는 생산성 피처 메뉴(productivity feature menu)를 제시하는 단계와,
    상기 복수의 생산성 피처 중 하나의 생산성 피처의 선택에 응답하여, 상기 사용자 인터페이스를 통해, 상기 생산성 애플리케이션 내에 복수의 서비스 피처를 포함하는 서비스 피처 메뉴를 제시하는 단계와,
    상기 복수의 서비스 피처 중 상기 사용자가 로그인한 온라인 서비스에 대응하는 적어도 하나의 서비스 피처를 인에이블하는 단계와,
    상기 복수의 서비스 피처 중 상기 사용자가 로그인하지 않은 하나의 다른 온라인 서비스에 대응하는 적어도 하나의 다른 서비스 피처를 디스에이블하는 단계와,
    하나의 서비스 피처의 선택에 응답하여, 상기 온라인 서비스로부터 획득된 콘텐츠를 사용하여 상기 생산성 애플리케이션에 의해 생성된 콘텐츠에 대한 기능을 수행하는 단계를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 하나의 서비스 피처는 삽입 피처를 포함하고, 상기 기능은 상기 온라인 서비스와 연관된 콘텐츠를 상기 생산성 애플리케이션에 의해 생성된 상기 콘텐츠에 삽입하는 삽입 기능을 포함하는
    방법.
  10. 제8항에 있어서,
    상기 서비스 피처 메뉴는 상기 복수의 서비스 피처의 그래픽 표현을 포함하는
    방법.
  11. 제10항에 있어서,
    상기 복수의 서비스 피처의 그래픽 표현 중 상기 하나의 서비스 피처에 대응하는 하나의 그래픽 표현은 상기 온라인 서비스와 연관된 콘텐츠의 그래픽 표현을 포함하는
    방법.
  12. 제8항에 있어서,
    상기 온라인 서비스는 소셜 네트워킹 웹사이트를 포함하는
    방법.
  13. 제12항에 있어서,
    상기 온라인 서비스와 연관된 콘텐츠는 상기 소셜 네트워킹 웹사이트에 의해 상기 사용자의 프로파일 내에 저장된 이미지 또는 비디오를 포함하는
    방법.
  14. 장치로서,
    처리 시스템과,
    프로그램 명령어가 저장되어 있는 비일시적 저장 장치를 포함하되,
    상기 프로그램 명령어는 상기 처리 시스템에 의해 실행될 경우에, 상기 처리시스템으로 하여금,
    콘텐츠와 상호작용하는 데 이용되는 생산성 애플리케이션과 연관된 사용자를 식별하고,
    상기 사용자와 연관된 온라인 서비스를 식별하며,
    상기 생산성 애플리케이션의 피처 메뉴의 생산성 피처 내의 서비스 피처 - 상기 서비스 피처는 상기 온라인 서비스에 대응하며, 상기 사용자가 상기 온라인 서비스와 관련된 상기 콘텐츠에 대한 기능을 수행할 수 있게 함 - 를 인에이블링하고,
    상기 피처 메뉴의 상기 생산성 피처 내의 다른 서비스 피처 - 상기 다른 서비스 피처는 다른 온라인 서비스에 대응함 - 를 디스에이블링하도록 지시하는
    장치.
  15. 제14항에 있어서,
    상기 서비스 피처는, 상기 생산성 애플리케이션을 실행하는 클라이언트 장치 상의 그래픽 사용자 인터페이스를 통해 호출될 경우에, 상기 클라이언트 장치에게 상기 온라인 서비스와의 통신을 개시하도록 지시하는, 상기 생산성 피처의 서브피처를 포함하는
    장치.
  16. 제15항에 있어서,
    상기 생산성 애플리케이션과 연관된 사용자를 식별하기 위해, 상기 프로그램 명령어는 상기 처리 시스템에 의해 실행될 경우에, 상기 처리 시스템으로 하여금 로그인 신원으로부터 상기 사용자를 식별하도록 지시하는
    장치.
  17. 제16항에 있어서,
    상기 사용자와 연관된 상기 온라인 서비스를 식별하기 위해, 상기 프로그램 명령어는 상기 처리 시스템에 의해 실행될 경우에, 상기 처리 시스템으로 하여금 복수의 서비스 중 상기 로그인 신원과 연관된 임의의 서비스를 식별하도록 지시하는
    장치.
  18. 제17항에 있어서,
    상기 서비스 피처를 인에이블링하기 위해, 상기 프로그램 명령어는 상기 처리 시스템에 의해 실행될 경우에, 상기 처리 시스템으로 하여금, 상기 생산성 애플리케이션이 상기 온라인 서비스와의 통신을 개시하는데 이용되는 클라이언트 장치에 대한 서비스 정보 및 상기 온라인 서비스를 식별하도록 지시하는
    장치.
  19. 제18항에 있어서,
    상기 프로그램 명령어는 상기 처리 시스템에 의해 실행될 경우에, 상기 처리 시스템으로 하여금, 그래픽 사용자 인터페이스를 통해, 상기 사용자와 연관되는 상기 서비스의 서브세트를 그래픽으로 선택하도록 하는 서비스 카탈로그를 상기 사용자에게 제시하도록 또한 지시하되, 상기 온라인 서비스는 상기 서비스 카탈로그에 포함되는
    장치.
  20. 제19항에 있어서,
    상기 온라인 서비스는 소셜 네트워크용 웹사이트를 포함하고, 상기 생산성 피처는 공유 명령을 포함하며, 상기 서비스 피처는 상기 생산성 애플리케이션에 의해 생성된 콘텐츠를 상기 웹사이트와 공유하라는 공유 명령을 내리는
    장치.
KR1020197029565A 2011-11-16 2012-11-16 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법 KR102073535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/297,287 US10192199B2 (en) 2011-11-16 2011-11-16 Enabling service features within productivity applications
US13/297,287 2011-11-16
PCT/US2012/065703 WO2013075046A1 (en) 2011-11-16 2012-11-16 Enabling service features within productivity applications

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013109A Division KR102033803B1 (ko) 2011-11-16 2012-11-16 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법

Publications (2)

Publication Number Publication Date
KR20190118677A KR20190118677A (ko) 2019-10-18
KR102073535B1 true KR102073535B1 (ko) 2020-02-04

Family

ID=47968314

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197029565A KR102073535B1 (ko) 2011-11-16 2012-11-16 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법
KR1020147013109A KR102033803B1 (ko) 2011-11-16 2012-11-16 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147013109A KR102033803B1 (ko) 2011-11-16 2012-11-16 생산성 애플리케이션 내의 서비스 피처 인에이블링 기법

Country Status (12)

Country Link
US (2) US10192199B2 (ko)
EP (1) EP2780880A4 (ko)
JP (1) JP6139547B2 (ko)
KR (2) KR102073535B1 (ko)
CN (1) CN103019675B (ko)
AU (1) AU2012340172B2 (ko)
BR (1) BR112014011654A8 (ko)
CA (1) CA2855838C (ko)
IN (1) IN2014CN03284A (ko)
MX (1) MX348683B (ko)
RU (1) RU2628210C2 (ko)
WO (1) WO2013075046A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984621B2 (en) * 2010-02-27 2015-03-17 Novell, Inc. Techniques for secure access management in virtual environments
US20130254713A1 (en) * 2012-03-26 2013-09-26 Adobe Systems Incorporated Sourcing and Work Product Techniques
US20140283125A1 (en) * 2013-03-15 2014-09-18 Ground Six Spaceworks Facial recognition-based information discovery
US20140351330A1 (en) * 2013-05-24 2014-11-27 Microsoft Corporation Service profile maintenance
US10915584B2 (en) * 2015-09-22 2021-02-09 Dropbox, Inc. Event-related document generation
CN105488151A (zh) * 2015-11-27 2016-04-13 小米科技有限责任公司 参考文档的推荐方法及装置
US10310718B2 (en) * 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259731A1 (en) 2008-04-14 2009-10-15 Microsoft Corporation Inserting a multimedia file through a web-based desktop productivity application
US20110099464A1 (en) 2009-10-28 2011-04-28 Yahoo! Inc. Mechanism for adding content from a search to a document or message

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735771B1 (en) 1999-03-12 2004-05-11 Perot Systems Corporation System and method for delivering web services using common object request broker architecture
US8973017B2 (en) * 1999-09-08 2015-03-03 Kenneth F. Krutsch Productivity application management
US6633907B1 (en) 1999-09-10 2003-10-14 Microsoft Corporation Methods and systems for provisioning online services
AU2001277868A1 (en) * 2000-07-11 2002-01-21 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
US6986145B2 (en) * 2001-03-13 2006-01-10 Dipayan Gangopadhyay In-context access to relevant services from multiple applications and information systems by object schema traversal
GB2373886A (en) * 2001-03-28 2002-10-02 Hewlett Packard Co User selectable power management of software applications
US7246158B2 (en) * 2001-04-23 2007-07-17 Ricoh Company, Ltd. System, computer program product and method for selecting an application service provider
US7406664B1 (en) * 2001-06-15 2008-07-29 Microsoft Corporation System for integrating HTML Web site views into application file dialogs
US7313824B1 (en) * 2001-07-13 2007-12-25 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US7133862B2 (en) 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
AU2002324717B2 (en) 2001-08-15 2007-08-30 Qualcomm Incorporated Test enabled application execution
US7080092B2 (en) 2001-10-18 2006-07-18 Bea Systems, Inc. Application view component for system integration
US6606460B2 (en) 2001-12-21 2003-08-12 Kabushiki Kaisha Toshiba Apparatus having a help function, image-forming apparatus, and method and program for displaying help information
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
BR0318369A2 (pt) 2002-07-23 2010-03-16 Samsung Electronics Co Ltd método de provisão de uma estrutura de indexação para meta-dados divididos em fragmentos e método de provisão de um ìndice de chave múltipla de meta-dados estruturados em árvore que são divididos em uma faixa previamente determinada de fragmentos
SE0203297D0 (sv) * 2002-11-05 2002-11-05 Ericsson Telefon Ab L M Remote service execution in an heterogenous network
US7831515B2 (en) 2003-08-05 2010-11-09 Intraware. Inc. Method and system for subscription-based, entitlement-driven license key generation and distribution for digital goods
US7584353B2 (en) * 2003-09-12 2009-09-01 Trimble Navigation Limited Preventing unauthorized distribution of media content within a global network
US20050125389A1 (en) 2003-12-09 2005-06-09 Electronic Data Systems Corporation Providing access to a service using a service engine
CA2463006A1 (en) * 2004-01-27 2005-07-27 Wrapped Apps Corporation On demand provisioning of web applications
US8365083B2 (en) * 2004-06-25 2013-01-29 Hewlett-Packard Development Company, L.P. Customizable, categorically organized graphical user interface for utilizing online and local content
US7444588B2 (en) * 2004-08-05 2008-10-28 At&T Intellectual Property, I.L.P. Methods, systems, and storage mediums for providing multi-media content storage and management services
US7725605B2 (en) 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7552341B2 (en) 2004-09-01 2009-06-23 Microsoft Corporation Licensing the use of software on a particular CPU
US8112548B2 (en) 2004-09-28 2012-02-07 Yahoo! Inc. Method for providing a clip for viewing at a remote device
US20060294042A1 (en) 2005-06-23 2006-12-28 Microsoft Corporation Disparate data store services catalogued for unified access
US8566298B1 (en) 2005-07-28 2013-10-22 Symantec Operating Corporation Method and apparatus for sharing resource locks amongst applications
US7844445B2 (en) * 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
US7464342B2 (en) * 2006-02-28 2008-12-09 Microsoft Corporation Customizable service provider user interface
JP5225587B2 (ja) 2006-03-20 2013-07-03 楽天株式会社 ソーシャルネットワーキングサービスシステム
US8086667B1 (en) * 2006-03-28 2011-12-27 Emc Corporation Providing access to managed content in rich client application environments
US20080195945A1 (en) * 2007-02-14 2008-08-14 Oracle International Corporation Enterprise context
JP2008211379A (ja) 2007-02-23 2008-09-11 Fujitsu Ltd 表示制御プログラムおよび携帯端末装置
US8555176B2 (en) * 2007-03-12 2013-10-08 Microsoft Corporation Third party menus for enabling collaboration
AU2008261648B2 (en) 2007-06-12 2013-10-03 Facebook, Inc. Personalized social networking application content
US7818396B2 (en) 2007-06-21 2010-10-19 Microsoft Corporation Aggregating and searching profile data from multiple services
KR101442828B1 (ko) * 2007-10-08 2014-09-23 삼성전자주식회사 디바이스의 탈착 가능한 기능을 제어하기 위한 방법 및시스템
US8561162B2 (en) 2008-02-28 2013-10-15 Red Hat, Inc. Systems and methods for unified login to multiple networked services
US9342833B2 (en) 2008-06-25 2016-05-17 Microsoft Technology Licensing, Llc Method of aggregating business and social networks
CA2730207C (en) * 2008-07-11 2017-08-22 Thomson Reuters Global Resources System and methods for web-based control of desktop applications
US8271536B2 (en) 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
WO2010090664A1 (en) 2009-02-05 2010-08-12 Wwpass Corporation Centralized authentication system with safe private data storage and method
EP2433374B1 (en) * 2009-05-19 2019-07-10 Zipit Wireless, Inc. System and method for coupling a wireless device to social networking services and a mobile communication device
US8979538B2 (en) * 2009-06-26 2015-03-17 Microsoft Technology Licensing, Llc Using game play elements to motivate learning
CN102024193A (zh) 2009-09-10 2011-04-20 上海杉达学院 一种信息系统管理员的控制方法及装置
US20110087739A1 (en) 2009-10-12 2011-04-14 Microsoft Corporation Routing User Data Entries to Applications
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
KR20110047399A (ko) 2009-10-30 2011-05-09 삼성전자주식회사 컨텐츠 업로드 서비스를 제공하는 서버, 단말기 및 컨텐츠 업로드 방법
US8924559B2 (en) 2009-12-03 2014-12-30 International Business Machines Corporation Provisioning services using a cloud services catalog
US8306504B1 (en) 2009-12-17 2012-11-06 Sprint Communications Company L.P. Determining access to a feature of a mobile device
US10110413B2 (en) 2010-02-08 2018-10-23 Facebook, Inc. Communicating information in a social network system about activities from another domain
US8666826B2 (en) 2010-02-12 2014-03-04 Microsoft Corporation Social network media sharing with client library
US20130024394A1 (en) 2010-03-31 2013-01-24 Rakuten, Inc. Server apparatus, reaction transmitting program, recording medium having computer-readable reaction transmitting program recorded thereon, terminal device, reaction counting method, and reaction counting system
KR101482152B1 (ko) 2010-05-07 2015-01-14 에스케이플래닛 주식회사 페이지 연동 기능을 구비한 웹 어플리케이션 실행 장치 및 방법
US9322974B1 (en) 2010-07-15 2016-04-26 Proxense, Llc. Proximity-based system for object tracking
US20120077546A1 (en) * 2010-09-24 2012-03-29 Nokia Corporation Method and apparatus for customizing application protocols
US8676892B2 (en) * 2010-11-01 2014-03-18 Google Inc. Visibility inspector in social networks
US8800050B2 (en) 2010-11-09 2014-08-05 Microsoft Corporation Security system for computing resources pre-releases
US8745134B1 (en) * 2011-03-04 2014-06-03 Zynga Inc. Cross social network data aggregation
US8548443B2 (en) * 2011-03-16 2013-10-01 Dell Products L.P. System and method for selectively restricting portable information handling system features
US8347322B1 (en) * 2011-03-31 2013-01-01 Zynga Inc. Social network application programming interface
US8793780B2 (en) * 2011-04-11 2014-07-29 Blackberry Limited Mitigation of application-level distributed denial-of-service attacks
US8577334B1 (en) 2011-06-16 2013-11-05 Sprint Communications Company L.P. Restricted testing access for electronic device
US8826135B1 (en) * 2011-06-30 2014-09-02 Amazon Technologies, Inc. Media player social network integration
US8806655B1 (en) * 2011-11-03 2014-08-12 Amazon Technologies, Inc. Providing limited versions of applications
US8955067B2 (en) 2012-09-12 2015-02-10 Capital One, Na System and method for providing controlled application programming interface security
US8887181B1 (en) * 2012-09-25 2014-11-11 Amazon Technologies, Inc. Application add-on platform
US9313203B2 (en) 2013-03-15 2016-04-12 Symantec Corporation Systems and methods for identifying a secure application when connecting to a network
US9645914B1 (en) 2013-05-10 2017-05-09 Google Inc. Apps store with integrated test support
WO2015017380A1 (en) 2013-07-29 2015-02-05 SR Solutions, Inc. Gathering user information based on user interactions
US9785760B2 (en) 2013-11-14 2017-10-10 Adobe Systems Incorporated Method and apparatus for managing software entitlements
US9087156B2 (en) 2013-11-15 2015-07-21 Google Inc. Application version release management
US9826045B2 (en) 2014-09-26 2017-11-21 Oracle International Corporation Efficient means to test server generated applications on mobile device
US20170046531A1 (en) 2015-08-14 2017-02-16 Strong Bear Llc Data encryption method and system for use with cloud storage
US20170083292A1 (en) 2015-09-18 2017-03-23 Amazon Technologies, Inc. Visual content development
US10310718B2 (en) 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259731A1 (en) 2008-04-14 2009-10-15 Microsoft Corporation Inserting a multimedia file through a web-based desktop productivity application
US20110099464A1 (en) 2009-10-28 2011-04-28 Yahoo! Inc. Mechanism for adding content from a search to a document or message

Also Published As

Publication number Publication date
KR20190118677A (ko) 2019-10-18
US10192199B2 (en) 2019-01-29
JP2014533862A (ja) 2014-12-15
WO2013075046A1 (en) 2013-05-23
CA2855838C (en) 2022-01-18
BR112014011654A8 (pt) 2017-12-12
RU2014119692A (ru) 2015-11-27
MX2014006002A (es) 2014-08-27
EP2780880A4 (en) 2015-07-08
KR102033803B1 (ko) 2019-10-17
BR112014011654A2 (pt) 2017-05-02
MX348683B (es) 2017-06-23
CN103019675A (zh) 2013-04-03
AU2012340172A1 (en) 2014-05-29
CN103019675B (zh) 2017-04-12
AU2012340172B2 (en) 2017-06-29
EP2780880A1 (en) 2014-09-24
US10769591B2 (en) 2020-09-08
US20130125011A1 (en) 2013-05-16
KR20140102187A (ko) 2014-08-21
US20190156289A1 (en) 2019-05-23
CA2855838A1 (en) 2013-05-23
JP6139547B2 (ja) 2017-05-31
RU2628210C2 (ru) 2017-08-15
IN2014CN03284A (ko) 2015-08-14

Similar Documents

Publication Publication Date Title
US10708252B2 (en) Configuring credentials to faciltate sharing data in a secure manner
US10769591B2 (en) Enabling service features within productivity applications
US11165727B2 (en) Automatic uploading of attachments to group cloud storage at send time
US11522851B2 (en) Secured rest execution inside headless web application
US10911426B2 (en) Custom authenticator for enterprise web application
US10367890B2 (en) Maintain single session with a single application across multiple clients
KR20110100622A (ko) 네트워크를 통해 자동으로 콘텐츠를 신디케이트하는 기술
US10693971B2 (en) Identifying the best suitable application to open a file shared via a link
US8359352B2 (en) Automated content and bookmark distribution
CN107430609B (zh) 针对企业环境的浏览器新标签页的生成
US11886620B2 (en) APP actions in a content management system
WO2023248179A1 (en) App actions in a content management system
Krishnan et al. Cloud Storage

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant