KR20130073940A - 서비스 또는 처리 제공자의 자동 및 반자동 선택 방법 - Google Patents

서비스 또는 처리 제공자의 자동 및 반자동 선택 방법 Download PDF

Info

Publication number
KR20130073940A
KR20130073940A KR1020137005942A KR20137005942A KR20130073940A KR 20130073940 A KR20130073940 A KR 20130073940A KR 1020137005942 A KR1020137005942 A KR 1020137005942A KR 20137005942 A KR20137005942 A KR 20137005942A KR 20130073940 A KR20130073940 A KR 20130073940A
Authority
KR
South Korea
Prior art keywords
service provider
user
computer
job
service
Prior art date
Application number
KR1020137005942A
Other languages
English (en)
Inventor
커트 더블유. 피어솔
Original Assignee
가부시키가이샤 리코
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 리코 filed Critical 가부시키가이샤 리코
Publication of KR20130073940A publication Critical patent/KR20130073940A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 서비스 또는 처리 제공자의 자동 또는 반자동 선택을 위한 시스템 및 방법을 개시한다. 일 실시형태에서, 본 발명은 사용자로 하여금 선호도의 세트를 입력하게 하고, 그 입력으로부터, 입력된 선호도로부터 유도되는 바와 같이 사용자에게 중요하게 되는 속성과 매치되는 서비스 또는 처리 제공자를 자동적으로 선택한다. 다른 실시형태에서, 처리는, 사용자가 선호도의 세트를 제공한다는 점에서 반자동적이며, 본 발명은 서비스 또는 처리 제공자를 필터링하고, 사용자의 선호도와 매치되며, 사용자가 특정 작업의 처리를 위하여 선택할 수는 제한된 수의 서비스 또는 처리 제공자를 나타낸다.

Description

서비스 또는 처리 제공자의 자동 및 반자동 선택 방법{AUTOMATIC AND SEMI-AUTOMATIC SELECTION OF SERVICE OR PROCESSING PROVIDERS}
본 발명은 휴대용 컴퓨팅 장치 및 전자 문서의 워크플로우 처리에 관한 것으로, 특히, 본 발명은 처리 제공자의 자동 또는 반자동 선택을 위한 시스템 및 방법에 관한 것이다.
많은 사용자들에게 휴대용 컴퓨팅 기기의 이용은 평범하게 되었다. 통상의 데스크탑 컴퓨터를 소유하는 것 외에, 많은 사용자들은 몇몇 종류의 휴대용 컴퓨팅 기기도 구비한다. 오늘날의 컴퓨팅 기기의 예로는 Sony사의 Reader, Amazon사의 Kindle, 및 Barnes & Noble사의 Nook 등의 리딩용 전자 기기를 포함한다. 더 작은 휴대용 컴퓨팅 기기로는, 몇 가지만 말하자면 Apple Computer사의 iPone, Research In Motion사의 Blackberry, Palm사의 Pre를 비롯한 다수의 스마트폰을 포함한다. 또한 상이한 레벨의 처리 능력과 사이즈를 제공하는 노트북 랩탑 및 태블릿 컴퓨터의 판매도 증가하고 있다.
이러한 종래 기술의 장치가 가진 하나의 특정 문제점은, 휴대용 컴퓨팅 장치가 종종 제한된 계산 능력을 가진다는 점이다. 복수의 복잡하고 더 정교한 작업을 수행하기 위하여, 종래 기술은, 휴대용 컴퓨팅 장치를“클라우드(cloud)”(서로 연결된 서비스 또는 처리 제공자의 네트워크)에 휴대용 컴퓨팅 기기를 결합하는 방법을 개발하였다. 클라우드에 휴대용 컴퓨팅 기기를 결합하면, 휴대용 컴퓨팅 기기 및 클라우드 양쪽을 이용하는 워크플로우에서 분리될 많은 복잡한 계산 및 다른 계산 집중적 액션을 수행할 수 있다. 예를 들어, 입력 및 명령을 수신하기 위한 휴대용 컴퓨팅 기기를 이용하는 것과 데이터를 제공하는 것 사이에서 워크플로우가 종종 분리되는 반면에, 시스템/클라우드의 다른 부분은 전자 문서를 조작하고 다른 복잡한 계산을 수행하는데 이용된다.
휴대용 컴퓨팅 기기와 서비스 또는 처리 제공자를 연관시키는 처리는, 휴대용 컴퓨팅 기기의 사용자에 대하여 복잡하고, 성가시며 어렵게 된다. 처리는 여러 가지 서비스 제공자 또는 처리 제공자가 이들의 서비스(종종 동일한 서비스)를 휴대용 컴퓨팅 기기의 사용자에게 광고 또는 제공하는 에코시스템의 생성에 의해 복잡하게 된다. 예를 들어, 개별 사용자는 검색가능한 텍스트를 만들기 위하여 전자 문서 상에 수행될 광학 문자 인식(OCR)을 원할 수도 있다. 이러한 서비스를 제공하는 매우 많은 서비스 제공자 또는 처리 제공자가 존재하지만, 이들은 다양한 다른 인자뿐만 아니라 여러 가지 상품, 변동되는 레벨의 품질, 변동되는 레벨의 반응성을 가진다. 휴대용 컴퓨팅 기기의 개별 사용자는 특정 기능을 수행할 수 있는 무수한 허용가능한 서비스 제공자 또는 처리 제공자로부터 선택하는 것이 종종 어렵게 된다.
서비스 또는 처리 제공자를 선택하는 처리는, 다른 서비스 또는 처리 제공자를 평가하는데 이용되는 무수한 속성 또는 인자에 의해 더 복잡하게 된다. 서비스 또는 처리 제공자를 선택하는데 있어서 다른 사용자에게 중요하게 될 수 있는 수십 개의 다른 인자가 존재할 수 있다. 또한, 다른 인자는 다른 사용자에게 중요하게 된다. 종래 기술의 대부분의 경우는, 서비스 또는 처리 제공자의 속성을 평가하는데 매우 제한적이거나 평가할 방법이 존재하지 않는다.
본 발명의 실시형태는, 서비스 또는 처리 제공자의 자동 또는 반자동 선택을 위한 시스템 및 방법을 제공함으로써, 종래 기술의 종래의 결합 및 제한을 극복한다. 특히 본 발명의 일 실시형태는 사용자로 하여금 선호도의 세트를 입력하게 하고, 그 입력으로부터, 입력된 선호도로부터 유도되는 바와 같이 사용자에게 중요하게 되는 속성과 매치되는 서비스 또는 처리 제공자를 자동적으로 선택한다. 본 발명의 또 다른 실시형태에서, 처리는, 사용자가 선호도의 세트를 제공한다는 점에서 반자동적이며, 본 발명은 서비스 또는 처리 제공자를 필터링하고, 사용자의 선호도와 매치되며, 사용자가 특정 작업의 처리를 위하여 선택할 수는 제한된 수의 서비스 또는 처리 제공자를 나타낸다.
시스템의 일 실시형태는, 서비스 제공자 선택 모듈을 구비하며, 이 모듈은 사용자 선호도 콜렉터 및 그래픽 유저 인터페이스(GUI), 사용자 선호도 스토리지, 서비스 제공자 속성 콜렉터, 서비스 제공자 선택 엔진 및 서비스 제공자 속성 스토리지를 포함한다. 사용자 선호도 콜렉터 및 그래픽 유저 인터페이스(GUI)는 서비스 제공자에 대한 사용자의 선호도에 대한 정보를 수집하는데 이용된다. 사용자 선호도 콜렉터는 사용자로부터 정보를 포착하여 이를 사용자 선호도 스토리지에 저장한다. 서비스 제공자 이용도 검출기는, 네트워크 상에서 어떤 서비스 제공자가 현재 이용가능한지를 결정하는데 이용된다. 서비스 제공자 속성 콜렉터는 다른 서비스 제공자의 성능에 대한 정보를 수집한다. 이러한 정보는, a) 네트워크로부터 포착된 통계 및 다른 데이터에 기초하여 부분 자동적으로 수집되고, b) 서비스 제공자의 성능에 기초하여 부분 수동적 또는 사용자 응답형으로 수집되며, c) 서비스 제공자가 다른 증명서 등을 가질 수 있는 어떤 기준에 관하여 서비스 제공자로부터 셀프 제공되어 수집된다. 서비스 제공자 속성 스토리지는 서비스 제공자 속성 콜렉터에 의해 획득되는 데이터를 저장하는데 이용된다. 서비스 제공자 선택 엔진은 서비스 제공자 속성 스토리지, 사용자 선호도 스토리지 및 서비스 제공자 이용도 검출기에 결합된다. 사용자의 선호도, 제공자 이용도 및 제공자 속성에 기초하여, 서비스 제공자 선택 엔진은, 사용자에 의해 입력된 기준에 기초하여 서비스를 제공하기 위한 최적의 매치 중 하나 또는 그 리스트를 결정한다. 일 실시형태에서, 이는 자동적으로 행해지며, 작업은 처리를 위하여 식별된 최적의 서비스 제공자에게 전달된다. 또 다른 실시형태에서, 이는 반자동적으로 행해지며, 사용자 요건과 최적으로 매치되는 서비스 제공자의 리스트가 서비스 제공자 선택 엔진에 의해 제공되며, 작업은 사용자에 의해 선택된 상기 제공자에게 전달된다.
또한, 본 발명은, 서비스 제공자의 자동 선택 및 서비스 제공자의 반자동 선택을 위한 신규한 방법, 사용자 선호도를 입력하기 위한 방법 및 서비스 제공자에 대한 속성을 수집하기 위한 방법을 포함한다.
본 명세서에 기재하는 특징과 장점이 모든 것을 포함하지 않으며, 당업자에게는 도면과 이하의 설명을 참조할 경우 다수의 추가 특징 및 장점이 명백할 것이다. 또한, 본 명세서에서 사용하는 용어는 주로 가독성(readability) 및 교육적인 목적을 위해 선택된 것이므로, 본 발명의 청구 대상의 범위를 한정하는 것이 아니다.
본 발명은 첨부 도면들의 도면들로 제한되지 않고 일례에 의해 예시되며, 도면에서 동일한 참조 부호는 유사한 구성요소를 지칭하는데 사용된다.
도 1은 본 발명에 따른, 서비스 또는 처리 제공자의 자동 또는 반자동 선택을 위한 시스템의 실시형태의 블록도이다.
도 2a는 본 발명에 따른 휴대용 컴퓨팅 기기의 실시형태의 정면도이다.
도 2b는 본 발명에 따른 도 2a의 휴대용 컴퓨팅 기기의 실시형태의 배면도이다.
도 3은 본 발명에 따른 휴대용 컴퓨팅 기기의 실시형태의 블록도이다.
도 4는 본 발명에 따른 스트로크 및 이미지 워크플로우 서버의 실시형태의 블록도이다.
도 5는 본 발명에 따른 자동 문서 처리를 나타내는 개략 흐름도이다.
도 6은 본 발명에 따른 서비스 제공자 선택 모듈의 실시형태의 블록도이다.
도 7은 본 발명에 따른 그래픽 유저 인터페이스(GUI)를 표시하고 사용자 선호도를 수집하기 위한 방법의 실시형태를 나타내는 흐름도이다.
도 8a 및 도 8b는 본 발명에 따른 자동 선택의 레벨 및 제공자 속성 선택에 대한 사용자 인터페이스의 일 실시형태의 그래픽 표시이다.
도 9는 본 발명에 따른 서비스 제공자 속성을 수집 및 저장하기 위한 방법의 실시형태를 나타내는 흐름도이다.
도 10은 본 발명에 따른 서비스 제공자의 자동 선택을 위한 방법의 실시형태를 나타내는 흐름도이다.
도 11은 본 발명에 따른 서비스 제공자의 반자동 선택을 위한 방법의 실시형태를 나타내는 흐름도이다.
이하, 서비스 또는 처리 제공자의 자동 또는 반자동 선택을 위한 시스템에 대하여 설명한다. 이하의 기재에서는, 설명의 목적상, 발명의 완벽한 이해를 돕기 위해 다수의 구체적인 디테일에 대해 설명한다. 그러나, 당업자라면, 이러한 구체적인 디테일 없이도 본 발명을 실시할 수 있다는 것을 알 것이다. 다른 경우에는, 본 발명을 명확하게 개시하기 위하여 구조 및 장치를 블록도 형태로 도시한다. 예컨대, 본 발명에 대해, 전자 페이퍼, e-페이터 또는 전자 잉크 디스플레이를 이용하는 Amazon사의 Kindle처럼 하드웨어 및 소프트웨어 플랫폼으로 구현되는 휴대용 컴퓨팅 기기를 참조하여 이하에 일 실시형태를 설명한다. 그러나, 본 발명은 잉크, 데이터 및 커맨드를 캡처하여 문서를 전자적으로 송신할 수 있는 모든 타입의 휴대용 컴퓨터 기기에 적용된다.
본 명세서에서의 "일 실시형태" 또는 "실시형태"의 언급은, 그 실시형태와 관련되어 기재되는 특정 특징, 구조 또는 특색이 본 발명의 적어도 일 실시형태에 포함되는 것을 의미한다. 명세서의 다양한 곳에서의 "일 실시형태에 있어서"라는 문구의 등장은 반드시 같은 실시형태를 모두 언급하지 않는다. 구체적으로, 본 발명은 2가지 다른 아키텍처의 내용에서 후술되며, 그 구성요소의 일부는, 다른 것들은 그렇지 않지만 양쪽 아키텍처에서 모두 동작 가능하다.
이어지는 상세한 설명의 일부는 컴퓨터 메모리 내에서 데이터 비트에 대한 연산의 심볼적 표현 및 알고리즘의 측면에서 제공된다. 이러한 알고리즘적 설명과 표현은 데이터 처리 분야의 종사자들이 같은 업계의 다른 사람들에게 자신의 작업의 실체를 가장 효과적으로 전달하기 위해서 사용하는 수단이다. 알고리즘은, 여기에서는 일반적으로, 원하는 결과로 유도하는 일관성 있는 순차적 단계들로 이해된다. 그 단계들은 물리적 양의 물리적 조작을 필요로 하는 것이다. 대개, 반드시 필요한 것은 아니지만, 이들 양은 저장, 전송, 조합, 비교 및 다른 방식의 조작이 행해질 수 있는 전기 또는 자기 신호의 형태를 취한다. 때때로, 주로 일반적인 용법에서는 이들 신호를 비트, 값, 요소, 심볼, 문자, 항(term), 숫자 등으로서 언급하는 것이 편리하다고 판명되고 있다.
그러나, 이들 모두 그리고 유사 용어는 적절한 물리적 양, 및 단지 이들 양에 적용된 편의적인 레벨과 연관되어 있는 것임을 명심해야 한다. 이하의 설명으로부터 분명하지만 달리 특별하게 설명하지 않다면, 명세서 전반에서 "처리(processing)" 또는 "컴퓨팅(computing)" 또는 "계산(calculating)" 또는 "결정(determining)" 또는 "디스플레이(displaying)" 등과 같은 용어를 사용하는 설명은, 컴퓨터 시스템의 레지스터 및 메모리 내에서 물리적(전자적) 양으로서 표현된 데이터를, 그 컴퓨터 시스템 메모리나 레지스터, 또는 정보 스토리지, 전송 또는 디스플레이 디바이스 등의 기타의 것 내에서 마찬가지로 물리적 양으로서 표현된 다른 데이터로 조작 및 변형하는, 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 기기의 액션 및 프로세스를 언급하는 것으로 알려져 있다.
또한, 본 발명은 여기에서의 동작을 수행하기 위한 장치에 관한 것이다. 이 장치는 요구되는 용도에 맞추어 특별히 구성될 수도 있고, 또는 이 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 기동되거나 재구성되는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광 디스크, CD-ROM, 및 광자기 디스크를 포함하는 모든 타입의 디스크, 및 ROM(Read Only Memory), RAM(Random Access Memory), EPROM, EEPROM, 자기 또는 광 카드, 또는 전자 명령어를 저장하기에 적합한 모든 타입의 매체와 같은, 그러나 여기에 한정되지 않는 컴퓨터 판독가능한 기억 매체(이들 각각은 컴퓨터 시스템 버스에 연결되는 것임)에 저장될 수 있다.
본 발명은 전적으로 하드웨어 실시형태, 전적으로 소프트웨어 실시형태, 또는 소프트웨어 및 하드웨어의 양 요소를 포함하는 실시형태의 형태를 취할 수 있다. 바람직한 실시형태에서는, 본 발명을, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함하지만 여기에 한정되지 않는 소프트웨어로 구현한다.
더욱이, 본 발명은 컴퓨터 또는 임의의 명령어 실행 시스템에 의해 이용되거나 이들과 관련되는 프로그램 코드를 제공하는 컴퓨터 이용 가능한 또는 컴퓨터 판독가능한 매체로부터 액세스 가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 본 설명의 취지상, 컴퓨터 이용 가능한 또는 컴퓨터 판독가능한 매체는 명령어 실행 시스템, 장치 또는 디바이스에 의해 이용되거나 이들과 관련되는 프로그램을 포함, 저장, 전달, 전파, 또는 전송할 수 있는 모든 장치일 수 있다.
매체는 전자, 자기, 광, 전자기, 적외선, 또는 반도체 시스템(또는 장치나 디바이스)이나 전파 매체일 수 있다. 컴퓨터 판독가능한 매체의 예로는, 반도체 또는 고상 메모리, 자기 테이프, 착탈 가능한 컴퓨터 디스켓, RAM, ROM, 강자기 디스크 및 광 디스크를 포함한다. 현재의 광 디스크의 예로는, 컴팩드 디스크 ROM(CD-ROM), 컴팩트 디스크 리드/라이트(CD-R/W) 및 DVD를 포함한다.
프로그램 코드를 저장 및/또는 실행하기에 적합한 데이터 처리 시스템은 시스템 버스를 통해 메모리 소자에 직접 또는 간접으로 연결된 적어도 하나의 프로세서를 포함할 것이다. 메모리 소자는 프로그램 코드의 실제 실행 시에 채용되는 로컬 메모리, 대용량 스토리지, 및 적어도 일부 프로그램 코드의 임시 스토리지를 제공하는 캐시 메모리(시간을 단축하기 위해 실행 시 코드는 대용량 스토리지로부터 검색되어야 함)를 포함할 수 있다.
입력/출력 또는 I/O 디바이스(키보드, 디스플레이, 포인팅 다바이스 등을 포함하나, 여기에 한정되지 않음)는 직접 또는 중재 I/O 컨트롤러를 통해 시스템에 연결될 수 있다.
네트워크 어댑터도 시스템에 연결되어, 데이터 처리 시스템이 중간의 사설 또는 공중 네트워크를 통해 다른 데이터 처리 시스템 또는 원격 프린터 또는 스토리지 디바이스에 연결되는 것을 가능하게 할 수 있다. 모뎀, 케이블 모뎀 및 이더넷 카드가 극소수의 현재 이용 가능한 타입의 네트워크 어댑터이다.
마지막으로, 본 명세서에 나타내는 알고리즘과 디스플레이는 본래는 임의의 특정 컴퓨터 또는 다른 장치에 관련되지 않는다. 다양한 범용 시스템이 여기에서의 교시에 따라 프로그램과 함께 이용될 수 있거나, 요구되는 방법의 단계들을 실행하도록 보다 특화된 장치를 구성하는 것이 편리하다고 판명될 수도 있다. 다양한 이들 시스템에 요구되는 구조가 이하의 설명으로부터 명백해질 것이다. 또한, 본 발명에 대해 특정 프로그래밍 언어를 참조해서 설명한다. 여기에 설명하는 바와 같이 본 발명의 교시를 구현하기 위해서 다양한 프로그래밍 언어가 사용될 수 있는 것은 당연하다.
시스템 개요
도 1은 자동 스트로크 및 이미지 기반의 워크플로우용 시스템(100)의 실시형태를 도시하고 있다. 이제 도 1을 참조하면, 이 실시형태의 시스템(100)은 복수의 휴대용 컴퓨팅 기기(102a-102n), 네트워크(104), 컴퓨터(108), 스트로크 및 이미지 워크플로우 서버(106), 데이터 스토리지(110) 및 하나 이상의 서비스 제공자 컴퓨터(122a-122n)를 포함한다. 복수의 휴대용 컴퓨팅 기기(102a-102n)는 각기 연결부(112a-112n)를 통해 네트워크(104)에 무선으로 연결된다. 일 실시형태에 있어서, 휴대용 컴퓨팅 기기(102a-102n)는 디스플레이, 스트로크 캡처 기능 및 무선 통신 기능을 포함하는 휴대용 컴퓨팅 기기이다. 휴대용 컴퓨팅 기기(102a-102n)는, 이미지(예컨대, 폼 또는 문서)를 수신하고 수신된 이미지에 스트로크 주석을 추가하며, 주석달린 수신 이미지를 송신하도록 구성되어 있다. 휴대용 컴퓨팅 기기(102a-102n)의 실시형태에 대해서는 도 2와 도 3을 참조하여 이하에 더욱 자세히 설명할 것이다.
네트워크(104)는 통상 타입의 무선이나 유선형이며, 스타형(star) 구성, 토큰링 구성, 또는 당업계에 알려진 기타 구성 등의 임의개의 구성을 가질 수 있다. 더욱이, 네트워크(104)는 LAN(Local Area Network), WAN(Wide Area Network)(예컨대, 인터넷), 및/또는 다수의 기기들이 통신할 수 있는 기타 상호접속 방식의 데이터 경로를 포함할 수 있다. 또 다른 실시형태에서는, 네트워크(104)가 피투피(peer-to-peer) 네트워크일 수도 있다. 또한, 네트워크(104)는 각종 상이한 통신 프로토콜로 데이터를 송신하기 위한 전기통신(telecommunication) 네트워크의 부분에 연결되거나 또는 그 부분을 포함할 수 있다. 또 다른 실시형태에서는, 네트워크(104)가 SMS(Short Messaging Service), MMS(Multimedia Messaging Service), HTTP(HyperText Transfer Protocol), 직접 데이터 접속, WAP, 이메일 등을 통해 데이터를 송신 및 수신하기 위한 블루투스 통신 네트워크 또는 셀룰러 통신 네트워크를 포함한다.
컴퓨터(108)는 개인용 컴퓨터 또는 하드웨어 서버와 같은 통상의 타입이다. 컴퓨터(108)는 신호선(118)에 의해 네트워크(104)에 연결된다. 일 실시형태에 있어서, 컴퓨터는 처음에 워크플로우에 따라 처리할 폼을 입력하거나 특정 폼의 각종 처리를 검증하기 위하여 스트로크 및 이미지 워크플로우 서버(106)에 액세스하고 이 서버와 통신할 수 있다. 예를 들어, 사용자는 추가 처리를 위해 PDF 파일 등의 문서를 스트로크 및 이미지 워크플로우 서버(106)에 입력하기 위해 컴퓨터(108)를 이용할 수 있다. 마찬가지로, 컴퓨터(108)는 그 워크플로우에 따른 모든 처리가 완료된 후에 완성 폼의 수신자일 수 있다. 컴퓨터(108)는 특정 폼의 처리의 스테이터스 또는 완성을 검증하기 위해 스트로크 및 이미지 워크플로우 서버(106)의 검증 모듈(430)(도 4 참조)과 통신할 수 있다. 마지막으로, 컴퓨터(108)는 워크플로우의 중간 단계로서 전자 문서에 대해 조작할 수 있거나, 또는 심지어 스트로크 및 이미지 워크플로우 서버(106)의 기능의 일부를 포함할 수도 있고, 휴대용 컴퓨팅 기기(102a-102n)와 직접 통신할 수도 있다.
스트로크 및 이미지 워크플로우 서버(106)는 휴대용 컴퓨팅 기기(102a-102n)와의 통신을 위해 신호선(116)을 통해 네트워크(104)에 연결된다. 스트로크 및 이미지 워크플로우 서버(106)는 문서 전송 모듈(408), 워크플로우 모듈(412), 로깅 모듈(416) 및 검증 모듈(430)을 포함한다(도 4 참조). 스트로크 및 이미지 워크플로우 서버(106)는 휴대용 컴퓨팅 기기(102a-102n)에 대해 문서를 송신 및 수신하고, 검증을 위해 로그를 유지하며, 페이퍼와 같은 워크플로우 및 문서 처리를 구현한다. 이것은, 스트로크 및 이미지 워크플로우 서버(106)가 휴대용 기기 사용자를 위해 페이퍼와 같은 워크플로우를 구현하고 전자 문서 처리의 오버헤드를, 그 처리가 사용자에게 보이지 않게 처리하기 때문에 특히 바람직하다.
데이터 스토리지(110)는 신호선(120)을 통해 스트로크 및 이미지 워크플로우 서버(106)에 연결된다. 대안적인 실시형태에서는, 데이터 스토리지(110)가 네트워크(104)에 의해 스트로크 및 이미지 워크플로우 서버(106)에 연결된다. 예를 들어, 이 대안적인 실시형태에서는, 데이터 스토리지(110)가 Amazon S3 등의 온라인 스토리지 웹 서비스이다. 데이터 스토리지(110)는 비휘발성 메모리 디바이스 또는 유사한 영구 스토리지 디바이스 및 매체이다. 데이터 스토리지(110)는 프로세서(302)에 대한 데이터 및 명령어를 저장하고, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 그 분야에 알려진 기타 대용량 스토리지 디바이스를 비롯한 하나 이상의 디바이스를 포함한다. 데이터 스토리지(110)는 처리 로그 등의 워크플로우 처리에 관한 정보를 저장하는데 이용된다.
서비스 제공자 컴퓨터(122a-122n)는 퍼스널 컴퓨터 또는 하드웨어 서버 등의 종래의 타입이다. 서비스 제공자 컴퓨터(122a-122n)는, 각각 신호선(124a-124n)에 의해 네트워크(104)에 연결된다. 일 실시형태에서, 서비스 제공자 컴퓨터(122a-122n)는 스트로크 및 이미지 워크플로우 서버(106)에 액세스 및 통신하여 부분 또는 더 큰 워크플로우의 일부가 되는 작업을 수행한다. 일 실시형태에서, 서비스 제공자 컴퓨터(122a-122n)는, 워크플로우의 부분 또는 작업을 수행하는데 필요한 다른 정보뿐만 아니라 문서를 수신하기 위하여 스트로크 및 이미지 워크플로우 서버(106)와 상호 작용하는 클라이언트 애플리케이션을 포함한다. 클라이언트 애플리케이션은, 또한 처리된 문서, 다른 처리된 정보 또는 결과를 스트로크 및 이미지 워크플로우 서버(106)에 다시 전송하는데 책임이 있다. 클라이언트 애플리케이션은, 또한 제어, 에러 처리 및 다른 기능을 위하여 서비스 제공자 컴퓨터(122a-122n)와 스트로크 및 이미지 워크플로우 서버(106) 사이의 통신을 제어 및 처리한다. 예를 들어, 클라이언트 애플리케이션은 스트로크 및 이미지 워크플로우 서버(106)의 검증 모듈(430)(도 4 참조)와 통신하여 특정 형태의 처리의 상태 또는 완료를 검증할 수 있거나, 또는 특정 잡의 수행과 관련되는 처리 통계를 위하여 서비스 제공자 속성 콜렉터(608)(도 6 참조)와 통신할 수도 있다.
서비스 제공자 컴퓨터(122a-122n)는, 문서/음성 변환, 언어 변환, 포맷 변환, 스펠 변환, 포맷팅, OCR, 교정, 제3 파티 시스템으로의 입력, 이미지 추출, 문서 스토리지 및 보유 등의 임의의 여러가지 기능을 수행하도록 구성되지만 이들로 한정되지는 않는다. 서비스 제공자 컴퓨터(122a-122n)는, 전자 문서 상에 워크플로우의 중간 단계로서 동작하도록 구성된다. 일 실시형태에서, 서비스 제공자 컴퓨터(122a-122n) 각각은 별도의 엔티티에 의해 소유되어 동작되며, 각 서비스 제공자 컴퓨터(122a-122n)는 다른 타입의 기능성을 제공한다. 당업자는, 동일한 서비스 또는 기능성을 제공하지만 여러 가지 다른 속성을 가지는 서비스 제공자 컴퓨터(122a-122n)가 복수개 존재할 수 있다는 점을 인식할 수 있다. 요컨대, 서비스 제공자 컴퓨터(122a-122n)는 제공자들이 스트로크 및 이미지 워크플로우 서버(106)에 의해 할당되는 작업 또는 잡에 대하여 경쟁하는 시장을 제공한다. 최종적으로, 다른 실시형태에서, 서비스 제공자 컴퓨터(122a-122n)는 스트로크 및 이미지 워크플로우 서버(106)의 능력의 일부를 포함하며, 휴대용 컴퓨팅 기기(102a-102n)와 직접 통신한다. 이하의 많은 일례에서, "서비스 제공자" 라는 용어는, 이러한 서비스 제공자 컴퓨터(122a-122n)를 지칭하는데 교환 가능하게 이용된다.
도 1의 시스템이 하나의 스트로크 및 이미지 워크플로우 서버(106)를 나타내고 있지만, 예컨대 기타 기능, 회사, 연구소, 조직 구조에 전담된 임의의 개수의 추가 워크플로우 서버가 있을 수도 있음은 물론이다. 컴퓨팅 패드(202)(도 2 참조)는 복수의 스트로크 및 이미지 워크플로우 서버(106)와 통신할 수 있다. 문서의 특정 페이지 또는 부분은 상이한 워크플로우 서버들과 연관될 수 있다. 또한, 전체 합성 문서를 송신하는 것이 아니라 합성 문서의 부분이 포워드될 수 있다.
휴대용 컴퓨팅 기기(102)
이제 도 2a, 도 2b 및 도 3을 참조하여, 휴대용 컴퓨팅 기기(102)의 실시형태에 대해 더욱 자세하게 설명한다. 휴대용 컴퓨팅 기기(102)는 컴퓨팅 패드(202)와 스타일러스(204)를 포함한다. 컴퓨팅 패드(202)는 이미지를 표시하고 그 이미지에 대해 적힌 임의의 스트로크를 기록한다. 일반적으로, 이 스트로크는 마치 페이퍼 위에 펜으로 쓴 것처럼 이미지 위에 즉시 표시된다. 또한, 스트로크는 통상 일련의 점 또는 선분으로서 캡처된다. 대개 어떤 타이밍 정보가 스트로크와 함께 캡처되고 때때로 압력 정보가 캡처된다. 패드와의 접촉 대 패드에의 근접성을 나타내는 "펜 업(Pen up)"과 "펜 다운(Pen down)"도 스트로크와 함께 기록될 수 있다. 어떤 경우에는, 스타일러스(204)가 식별자 또는 버튼 또는 상이한 "단부"를 가질 수 있고, 이것 역시 스트로크와 함께 기록될 수 있다.
컴퓨팅 패드(202)는 디스플레이 디바이스(206), 스트로크 캡처 디바이스 및 모듈(208), 복수의 입력 디바이스(210-216), 카메라(218), 출력 디바이스(220), 프로세서(302), 메모리(304), 통신 유닛(306), 기기의 고유 식별자(ID) 스토리지(308), 클록부(310), 메타데이터 모듈(312), 로깅 모듈(314), 문서 전송 모듈(316), 문서 작성 모듈(318), 버스(320), 프리젠테이션 모듈(322), 기타 애플리케이션(324) 및 포지션 바 및 북마크 모듈(328)을 포함한다.
이제 도 2a와 도 2b를 참조하면, 컴퓨팅 패드(202)에 관한 일 실시형태가 도시된다. 이 실시형태에 있어서, 디스플레이 디바이스(206)는 E-ink사에서 제조 판매하는 전자 페이퍼 디스플레이이다. 다른 실시형태에 있어서, 디스플레이 디바이스(206)는 액정 디스플레이(LCD) 또는 마찬가지로 장착된 기타 디스플레이 디바이스, 스크린, 또는 모니터이다. 디스플레이 디바이스(206)는 여기에 기재되는 것인 전자 이미지 및 데이터를 표시하도록 장착된 모든 디바이스를 대표한다. 디스플레이 디바이스(206)는 적어도 작은 '페이지'의 정보를 보여주기에 충분한 크기로 되어 있다. 상이한 실시형태들에서는, 디스플레이가 바이너리(픽셀에 대해 단 2개의 상이한 값), 모노크롬(하나의 색의 다수의 셰이드)이거나, 다색 및 셰이드를 허용한다. 디스플레이 디바이스(206)는 경량의 저전력 디스플레이인 것이 바람직하다. 일 실시형태에 있어서, 디스플레이 디바이스(206)는 야외용 발광보다는 반사광을 이용하고 저전력을 이용한다. 또한, 디스플레이 디바이스(206)는 다른 방식으로 페이퍼에 표시될 수도 있는 정보를 표시할 수 있는 고 분해능을 갖지만, 디스플레이 디바이스(206)는 LCD 디스플레이에 공통된 60 ㎐ 리프레시 레이트보다 훨씬 낮은 업데이트 속도를 용인하다.
디스플레이 디바이스(206)와 협조하는 것으로서, 디지털화 태블릿 또는 그래픽 패드 등의 스트로크 캡처 디바이스(208)가 있다. 스트로크 캡처 디바이스(208)는, 디스플레이의 상부, 하부 또는 주변에 있을 수 있는 리시버를 구비한 접촉 감지 디바이스 또는 전자기 또는 광 감지 디바이스이다. 스트로크 캡처 디바이스(208)는 스타일러스(204)나 손가락 또는 기타 도구로부터의 스트로크를 수용할 수 있다. 스트로크 캡처 디바이스(208)는 스타일러스(204)용 센서이며, 인식 가능한 수기, 프린팅 및 기타 드로잉을 캡처하기에 충분한 분해능을 갖는다. 일 실시형태에 있어서, 디스플레이 디바이스(206)에는, 터치 감지 투명 패널이 그 디스플레이 디바이스(206)의 스크린을 덮고 있는 터치 스크린이 장착된다. 일 실시형태에 있어서, 스트로크 캡처 디바이스(208)는 Wacom사에서 제조 판매하는 디지타이저이다. 다른 실시형태에 있어서, 스트로크 캡처 디바이스(208)는 단일 접촉점의 수평 및 수직 위치를 반환하는 간단한 센서이다. 또 다른 실시형태에 있어서, 스트로크 캡처 디바이스(208)는 압력, 위치, 시각, 및 심지어 스타일러스(204)의 ID 번호나 타입의 표시, 또는 스타일러스 상에서 버튼이 눌러지는지 또는 스타일러스가 예컨대 소거를 위해 반전되었는지의 표시를 반환하는 복수의 보다 복잡한 센서이다. 어떤 센서들은 다수의 접촉점을 반환할 수 있다. 스트로크 캡처 디바이스(208)는 스트로크 캡처 모듈(208)의 부분이거나 이 모듈과 통신하도록 구성된 것이다.
스타일러스(204) 외에도, 컴퓨팅 패드(202)는 커맨드를 입력하기 위한 복수의 입력 디바이스(210-216)를 제공한다. 도 2a에 도시하는 바와 같이, 컴퓨팅 패드(202)의 상부 모서리에 있는 제1 버튼(210)은 선택될 경우 컴퓨팅 패드(202)를 턴 온/오프한다. 일 실시형태에 있어서, 제1 버튼(210)은 컴퓨팅 패드(20)를 잠시동안 슬립 모드로 두기 위해 선택될 수 있고, 장시간 컴퓨팅 패드(202)를 턴 오프하기 위해 눌려질 수도 있다. 제2 버튼(212)은 카메라(218)의 동작을 제어하고, 선택될 경우, 카메라(218)가 이미지를 캡처하게 한다. 제3 버튼(214)은 선택될 경우, 문서의 주석이 완성된 것과 문서가 컴퓨팅 패드(202)에 의해 송신되어야 하는 것을 나타낸다. 제4 버튼(216)인 입력 버튼 쌍은 각각 사용자가 문서의 이전 페이지 또는 다음 페이지로 이동하게 한다. 당업자라면, 버튼으로서의 이들 입력 디바이스는 복수의 입력 디바이스(210-216)에 관한 일 실시형태일 뿐이며, 더 적거나 더 많은 버튼 또는 입력 디바이스의 기타 각종 구성도 본 발명의 사상 및 범위 내에 있다는 것을 알 것이다. 더 구체적으로, 기기가 페이퍼와 같은 것으로서 인식되는 상태에서는 버튼이 방해할 수도 있기 때문에 다른 실시형태에서는, 컴퓨팅 패드(202)에 버튼이 단지 2개(또는 없을 수도) 있다.
상기 실시형태에 있어서, 스트로크 및 기타 메타데이터는 네트워크 접속이 있다면 계속 전송될 것이다. 패드 상의 '제출' 또는 '거부' 버튼을 누름으로써 페이지 또는 페이지 세트의 완성을 알릴 수 있는데, 즉 표시된 페이지에는 영역이 있을 수 있고 그 영역에 스트로크를 추가하면 적절한 데이터의 제출이 이루어질 수 있다. 당업자라면, 복수의 입력 디바이스(210-216)에 대한 다수의 다양한 구성이 있다는 것을 알 것이다. 예를 들어, 다른 구성에서는 전원용 1 버튼과 제출용 1 버튼을 포함하고, 제2 예는 손가락의 위치에 따라 다수의 페이지 중에서 한 페이지를 선택할 수 있는 슬라이더와 하나 이상의 버튼을 구비한다.
이제 도 2b도 참조하면, 컴퓨팅 패드(202)의 배면이 도시된다. 컴퓨팅 패드(202)는 후방측의 카메라(218)와 전방측의 출력 디바이스(220)를 포함한다. 도 2b에 도시하는 바와 같이, 카메라(218)는 컴퓨팅 패드(202)의 배면에서 렌즈가 바깥을 향하게 상부 왼쪽 코너에 위치한다. 카메라(218)는 휴대 전화기 또는 노트북 컴퓨터 상에서 이용 가능한 것과 같은 통상의 타입이다. 출력 디바이스(220)는 컴퓨팅 패드(202)의 앞쪽에 있고, 이는 도 2a에 도시된다. 출력 디바이스(220)는 작은 이미지를 표시하기 위한 디바이스이며, 카메라의 뷰파인더로서 이용된다. 일 실시형태에 있어서, 출력 디바이스(220)는 유기 발광 다이오드(OLED: Organic Light Emitting Diode)이고 카메라가 작동중일 때에만 작동된다. 또 다른 실시형태에 있어서, 출력 디바이스(220)는 1) 컴퓨팅 패드(202)가 전원을 갖고 작동중인지의 여부, 2) 컴퓨팅 패드(202)가 네트워크 접속을 갖는지의 여부, 3) 컴퓨팅 패드(202)가 합성 문서를 송신 또는 수신하고 있는지의 여부 등과 같은 기기의 스테이터스를 나타내는데 이용된다. 당업자라면, 출력 디바이스(220)의 부분일 수 있는, 전술한 것 이상으로 각종의 추가 스테이터스 인디케이터가 있을 수 있다는 것, 또는 그 스테이터스가 메인 디스플레이 디바이스(206)를 통해 제공될 수 있다는 것을 알 것이다.
이제 도 3을 또한 참조하면, 컴퓨팅 패드(202)의 나머지 구성요소에 대해 설명한다.
프로세서(302)는 계산을 수행하고 전자 디스플레이 신호를 디스플레이 디바이스(206)에 제공하며, 스트로크 입력을 검출 및 처리하기 위하여 산술 로직 유닛, 마이크로프로세서, 범용 컨트롤러, 또는 기타 프로세서 어레이를 포함한다. 프로세서(302)는 컴퓨팅 패드(202)의 다른 구성요소와의 통신을 위해 버스(320)에 연결된다. 프로세서(302)는 데이터 신호를 처리하고, CISC(Complex Instruction Set Computer) 아키텍처, RISC(Reduced Instruction Set Computer) 아키텍처, 또는 명령어 세트의 조합을 구현하는 아키텍처를 비롯한 다양한 컴퓨팅 아키텍처를 포함할 수 있다. 도 3에는 단일 프로세서만 도시되어 있지만, 다수의 프로세서가 포함될 수도 있다. 컴퓨팅 패드(202)의 처리 능력은 이미지의 디스플레이와 스트로크의 기록과 스트로크의 전송을 지원하는 것에 제한될 수 있다. 그 처리 능력은 다양한 형태의 이미지 처리, 스트로크 처리, 또는 인식 태스크를 비롯한 더욱 복잡한 태스크를 수행하기에 충분할 수 있다. 당업자라면, 기타 프로세서, 오퍼레이팅 시스템, 센서, 디스플레이 및 물리적 구성이 가능하다는 것을 알 것이다. 또한, 컴퓨팅 패드(202)는 프로세서에 의해 실행될 수 있는, WINDOWS(등록상표), MacOS X, Android, 또는 UNIX(등록상표) 기반의 오퍼레이팅 시스템 등, 그러나 여기에 한정되지 않는 오퍼레이팅 시스템을 포함한다.
메모리(304)는 프로세서(302)에 의해 실행될 수 있는 명령어 및/또는 데이터를 저장한다. 명령어 및/또는 데이터는 여기에 기재하는 기술의 일부 및/또는 전부를 수행하는 코드를 포함할 수 있다. 메모리(304)는 DRAM(Dynamic Random Access Memory) 디바이스, SRAM(Static Random Access Memory) 디바이스, 플래시 메모리 또는 당업계에 알려진 기타 메모리 디바이스일 수 있다. 일 실시형태에 있어서, 메모리(304)는 더욱 영구적으로 로그 정보를 저장하는 하드 디스크 드라이브 또는 플래시 드라이브와 같은 비휘발성 메모리도 포함한다. 메모리(304)는 컴퓨팅 패드(202)의 다른 구성요소와의 통신을 위해 버스(320)에 의해 연결된다.
통신 유닛(306)은 안테나 및 버스(320)에 연결된다. 대안적인 실시형태에 있어서, 통신 유닛(306)은 네트워크(104)에의 직접적인 물리 접속을 위한 포트를 제공할 수 있다. 통신 유닛(306)은 합성 문서를 송신 및 수신하기 위한 트랜스시버를 포함한다. 일 실시형태에 있어서, 통신 유닛(306)은 액세스 포인트와의 무선 통신을 위해 Wi-Fi 트랜스시버를 포함한다. 다른 실시형태에 있어서, 통신 유닛(306)은 다른 기기와의 무선 통신을 위해 Bluetooth(등록상표) 트랜스시버를 포함한다. 또 다른 실시형태에 있어서, 통신 유닛(306)은 셀룰러 통신 네트워크 상에서 SMS(Short Messaging Service), MMS(Multimedia Messaging Service), HTTP(HyperText Transfer Protocol), 직접 데이터 접속, WAP, 이메일 등을 통해 데이터를 송신 및 수신하기 위한 셀룰러 통신 트랜스시버를 포함한다. 또 다른 실시형태에 있어서, 통신 유닛(306)은 USB, SD, 또는 CAT-5 등과 같은, 그러나 이들에 한정되지 않는 유선 접속을 위한 포트를 포함한다. 통신 유닛(306)은 다수의 처리 시스템을 포함할 수 있는 프로세서(302)를 네트워크(104)에 링크한다. 처리 시스템의 네트워크는 LAN(Local Area Network), WAN(Wide Area Network)(예컨대, 인터넷), 및/또는 다수의 기기들이 통신할 수 있는 기타 상호접속 방식의 데이터 경로를 포함할 수 있다. 또한, 통신 유닛(306)은 당업자라면 정통한 TCP/IP, HTTP, HTTPS 및 SMTP 등의 표준 네트워크 프로토콜을 이용해서 파일(매체 오브젝트)을 배포하기 위한 기타 통상의 접속을 네트워크(104)에 제공한다.
컴퓨팅 패드(202)는 기기의 고유 식별자(ID)를 위한 스토리지(308)를 포함한다. 컴퓨팅 패드(202)는 필요하다면 고유 식별자를 다른 구성요소에 제공하기 위해 버스(320)에 연결된다. 일 실시형태에 있어서, 이 스토리지(308)는 기기의 고유 식별자를 저장하기 위한 ROM이다. 다른 실시형태에 있어서, 고유 식별자 스토리지(308)는 공개 키-개인 키 쌍을 저장하는 비휘발성 스토리지이다. 그것은, 스트로크가 어디에 기록되었는지를 나타내는데 고유 식별자를 이용하는 컴퓨팅 패드(202)에 유용하고, 또는 다양한 통신 프로토콜에 유용하다. 일 실시형태에 있어서, 고유 식별자는 컴퓨팅 패드(202)에서 네트워크 칩의 하드웨어 MAC 어드레스이다. 고유 ID 스토리지(308)는 통신 유닛(306) 등의 다른 기능 블록의 내부 부분일 수도 있고, 또는 메모리(304) 내의 비휘발성 스토리지에 있을 수도 있다. 다른 실시형태에 있어서, 예상 행위일 수 있는 메모리 카드의 이동 시에 특정 기기와의 연관이 상이한 기기에 이동하는 식으로, 고유 식별자는 컴퓨팅 패드(202) 상의 메모리 카드와 연관된 고유 ID이다. 고유 식별자는 각종 동작에 유용하지만, 통상 높은 보안성을 제공하지는 않는다. 예컨대, 하드웨어 MAC 어드레스는 다른 기기에 의해 모방될 수 있다. 이에, 때때로 RSA(등록상표) 등의 공개키 암호 시스템으로부터의 한 쌍의 키와 연관된 기기를 구비하는 것이 유익하다. 일 실시형태에 있어서, 컴퓨팅 패드(202)는 개인키와 공개키가 흩어져 있게 제조되거나 구성될 수 있다. 그리고, 컴퓨팅 패드(202)는 스트로크, 이미지, 로그, 또는 기기에서 유래된 기타 매체의 디지털 서명에 대해 자신의 개인키를 이용할 수 있다. 타 기기는 상기 매체를 검증하는데 공개키를 이용할 수 있다. 공개키는 또한 기기와의 비밀 통신을 제공하는데 이용될 수 있다. 암호화에 기기의 공개키를 이용하는 것은 타 기기가 특정 컴퓨팅 패드(202)에 전용된 페이지 이미지 또는 메타 데이터에 액세스하는 것을 제한할 것이다.
클록부(310)는 통상의 타입이며 컴퓨팅 패드(202)에 대해 로컬 타임의 표시를 제공한다. 구체적으로, 클록부(310)는 합성 문서가 처리되는 로컬 타임을 제공하는데 이용된다. 이 타임 값도 로깅 모듈(314)을 이용하여 로컬 로그 파일에 데이터와 함께 저장된다. 클록부(310)는 시스템 버스(320)를 이용해서 이 정보를 프로세서(302)와 로깅 모듈(314)에 전달하도록 구성되어 있다.
메타데이터 모듈(312)은 문서로부터 메타데이터를 추출하여 메타데이터를 문서의 부분으로서 저장하기 위한 루틴을 포함하는 소프트웨어이다. 일 실시형태에 있어서, 메타데이터 모듈(312)은 문서 메타데이터뿐만 아니라 이미지/페이지 메타데이터 모두에 액세스하기 위한 후술되는 기능성을 제공하기 위해 프로세서(302)에 의해 실행 가능한 명령어이다. 다른 실시형태에 있어서, 메타데이터 모듈(312)은, 사용자 인터페이스를 보여주고, 스트로크 정보를 캡처하며, 워크플로우에 따라 문서를 라우팅[휴대용 컴퓨팅 기기(102)에 대해 문서를 송신 및 수신]하기 위한 루틴을 포함하는 소프트웨어이다. 일 실시형태에 있어서, 메타데이터 모듈(312)은 메모리(304)에 저장되며 프로세서(302)에 의해 액세스 및 실행될 수 있다. 어떤 경우에, 메타데이터 모듈(312)은 프로세서(302) 및 컴퓨팅 패드(202)의 다른 구성요소와의 제휴 및 통신에 적합하게 구성된다.
로깅 모듈(314)은 로컬 로그를 작성하여 메모리(304), 더 구체적으로는 메모리(304)의 비휘발성 스토리지 부분에 저장하기 위한 루틴을 포함하는 소프트웨어이다. 일 실시형태에 있어서, 로깅 모듈(314)은 컴퓨팅 패드(202)와 스트로크 및 이미지 워크플로우 서버(106)에서 뒤얽힌(entangled) 해시 체결 로그에 메타데이터를 저장하도록 프로세서(302)에 의해 실행 가능한 일련의 루틴이다. 로깅 모듈(314)은 트랜잭션에서 워크플로우 완료의 검증을 제공하는데 특히 중요하다. 일 실시형태에 있어서, 로깅 모듈(314)은 또한, 그 특정 컴퓨팅 패드(202)의 로그를 네트워크 상에서 공개적으로 이용 가능한 장소에 공개 또는 저장하기 위한 루틴을 포함한다. 로깅 모듈(314)은 버스(320)에 의해 프로세서(302), 메모리(304), 및 통신 유닛(306)에 연결된다.
문서 전송 모듈(316)은 스트로크 및 이미지 워크플로우 서버(106)로부터 문서를 송신 및 수신하기 위한 소프트웨어 및 루틴이다. 다른 실시형태에 있어서, 문서 전송 모듈(316)은 컴퓨터(108), 스트로크 및 이미지 워크플로우 서버(106) 또는 기타 휴대용 컴퓨팅 기기(102)와 같은, 그러나 여기에 한정되지 않은 임의의 다른 컴퓨팅 기기로부터의 포맷화된 메시지로서 문서를 송신 및 수신한다. 문서 전송 모듈(316)은 프로세서(302) 및 통신 유닛(306)과의 통신을 위해 버스(320)에 의해 연결된다. 문서 전송 모듈(316)은 이메일, 파일 전송, XMPP 또는 특정 용도의 애플리케이션 등에 의해 컴퓨팅 패드(202)에 대해 문서 또는 포맷화된 메시지를 송신 및 수신하는데 책임이 있다.
제1 실시형태에 있어서, 문서 전송 모듈(316)은 컴퓨팅 패드(202) 상에서 작동하는 클라이언트 소프트웨어이며, 인박스로서 기능하는 디렉토리 구조를 유지한다. 문서 전송 모듈(316)은 스트로크 및 이미지 워크플로우 서버(106) 상의 대응하는 인박스로부터의 문서를 이 디렉토리로 이동시킨다. 컴퓨팅 패드(202)의 인박스에 있는 문서에 주석이 달리고 사용자가 제출 명령을 입력하면, 문서 전송 모듈(316)은 디렉토리 구조로부터 그 문서를 삭제하고 추가 처리를 위해 그것을 스트로크 및 이미지 워크플로우 서버(106)에 전송한다.
제2 실시형태에 있어서, 문서 전송 모듈(316)은 첨부물이 있는 이메일을 수신 및 송신할 수 있는 이메일 클라이언트이다. 이메일 클라이언트는 프로세서(302) 상에서 작동한다. 메일 서버는 주로, 메일 클라이언트와 교신하기 위해 POP 또는 IMAP 프로토콜 중 하나를 이용하고, 컴퓨팅 패드(202)는 어느 쪽이든 이용하도록 구성되어 있다. 메시지는 통신 패드(202)가 예컨대 이미지 파일의 첨부물을 직접 이용할 수 있는 포맷으로 되어 있다. 메시지는 컴퓨팅 패드(202) 상에서 변환을 필요로 하는 포맷, 예컨대 pdf 문서로 되어 있다. 이와 달리, 패드가 다중 포맷을 지원할 필요가 없게 하기 위하여 전용 메일 서버가 메시지의 변환을 제공할 수도 있다. 예컨대 전술한 부분별 인박스에서와 같이 한번에 행해져야만 하는 작업을 분산시키기 위해 워크플로우에 다수의 기기가 이용되는 경우에는, IMAP를 이용하는 것이 바람직하다. 다수의 기기(102a-102n)는 같은 IMAP 서버와 '사용자명'을 갖는 클라이언트로서 구성될 수 있다. 그 기기(102a-102n)의 그룹은 "인박스"에 모든 폼을 표시할 수 있다. 어떤 기기(102a-102n)에서 어떤 사용자가 '처리 완료'라고 폼을 마킹하면, 그 기기는 IMAP 서버 상에서 메시지를 '인박스'로부터 아마도 '처리 완료' 박스로 이동시킨다. 다른 기기(102a-102n)가 IMAP 서버 상에서 '인박스'를 체크할 경우, 그 기기들은 페이지가 더 이상 존재하지 않고 더 이상 그 페이지를 표시하지 못한다고 판단할 것이다. 패드가 한 페이지나 스트로크 또는 다수의 페이지와 스트로크를 송신해야 할 경우, 패드는 이메일 클라이언트로서 기능하고, 아마도 단일 파일로 압축되어 조합된 디렉토리 구조로 페이지를 갖는 메일을 송신할 수 있다.
제3 실시형태에 있어서, 문서 전송 모듈(316)은 파일 전송을 수행하기 위한 루틴이다. 각종 파일 전송 방법을 이용하여 컴퓨팅 패드(202)에 대해 문서를 이동시킬 수 있다. 컴퓨팅 패드(202)는 ftp, http, 또는 webdav 서버를 운용할 수 있으며 다른 기기가 그 컴퓨팅 패드(202)에 대해 문서를 푸시(push) 또는 풀(pull)할 수 있다. 또한, 컴퓨팅 패드(202)는 외부 서버에 대해, 이 경우에도 ftp, http, rsync, webdav 또는 다른 프로토콜을 통해 새로운 문서를 가져오거나 게시하도록 구성될 수 있다.
제4 실시형태에 있어서, 문서 전송 모듈(316)은 MMS 통해 또는 다른 통신 프로토콜로 통신하기 위한 클라이언트 통신 프로그램이다. 인스턴트 메시징에 사용되는 프로토콜인 XMPP는 패드와의 문서 및 스트로크 통신을 제공하는데 이용된다. 인스턴트 메시징 프로토콜은, 메시징 그룹의 임의의 멤버가 메시지를 송신하고 있는 중이라도 다른 멤버가 메시지를 개시할 수 있기 때문에 유용하다. 이에, 컴퓨팅 패드(202)의 경우 스트로크가 패드로부터 서버에 송신되고 있을 때와 동시에 그 패드에 대해 이미지를 전송하는 서비스가 가능하다. 인스턴트 메시징 프로토콜은 또한, 한 그룹의 컴퓨팅 패드(202)가 디스플레이 공간을 공유하는 경우에 그 그룹의 모든 멤버에 새로운 스트로크가 통지될 수 있기 때문에 유용하다.
제5 실시형태에 있어서, 문서 전송 모듈(316)은 커스텀 애플리케이션이다. 물론, 정보는 패드 전용 API를 이용하여 패드와 협업하도록 설계된 전용 애플리케이션을 이용해 컴퓨팅 패드(202)에 전송될 수 있다. 지시자(instructor)는 파일을 이동시키는데 사용되는 특정 방법을 알 필요 없이 패드의 그래픽 표시 상에 워크시트를 "드래그 앤 드롭"하는 것을 원할 수 있다.
문서 작성 모듈(318)은 새로운 문서를 작성하기 위한 소프트웨어 또는 루틴이다. 문서 작성 모듈(318)은 프로세서(302) 상에서 작동하며, 버스(320)에 연결되어 컴퓨팅 패드(202)의 다른 구성요소와 통신한다. 문서 작성 모듈(318)은 입력 디바이스(210-218) 또는 스트로크 캡처 디바이스(208)로부터의 신호에 응답한다. 문서 작성 모듈(318)은 문서의 템플릿 폼을 메모리(304)에 저장한다. 사용자 입력에 응답하여, 문서 작성 모듈(318)은 템플릿 폼으로부터 새로운 문서를 작성하기 위하여, 저장된 템플릿 폼에 액세스하고 선택된 것을 카피한다. 일단 작성되어 메모리(304)에 저장된 문서는 프리젠테이션 모듈(322)에 의해 유지되는 인박스 리스트에 추가되고, 기타 문서와 같이 다른 방식으로 편집 가능, 조작 가능 및 송신 가능하다.
버스(320)는 컴퓨팅 패드(202) 전반에 걸쳐 정보와 데이터를 통신할 수 있는 공유 버스를 나타낸다. 버스(320)는 ISA(industry standard architecture) 버스, PCI(peripheral component interconnect) 버스, USB(universal serial bus), 또는 당해 분야에 알려져 있는 유사 기능성을 제공하기 위한 일부 다른 버스를 포함하는 하나 이상의 버스를 나타낼 수 있다. 시스템 버스(320)를 통해 프로세서(302)에 연결된 부가 구성요소는, 디스플레이 디바이스(206), 스트로크 캡처 디바이스 및 모듈(208), 복수의 입력 디바이스(210-216), 출력 디바이스(220), 프로세서(302), 메모리(304), 통신 유닛(306), 디바이스의 고유 ID 스토리지(308), 클록부(310), 메타데이터 모듈(312), 로깅 모듈(314), 문서 전송 모듈(316), 프리젠테이션 모듈(322) 및 기타 애플리케이션(324)을 포함한다. 또한, 컴퓨팅 패드(202)에는 기능 요소들 사이에서 가장 효과적인 통신을 제공하도록 설계되어 있는 복수의 버스가 있을 수 있다.
프리젠테이션 모듈(322)은 디스플레이 디바이스(206) 상에 문서 및 인박스를 표시하고 입력 디바이스(210-216)로부터의 입력에 응답하여 이미지의 디스플레이를 조정하기 위한 소프트웨어 및 루틴이다. 프리젠테이션 모듈(322)은 도 2, 8a 및 8b에 도시된 듀얼 모드 사용자 인터페이스를 생성하는 루틴을 수행한다. 또한, 프리젠테이션 모듈(322)은, 포지션 바 및 북마크 모듈(328)과 협력하여 신규한 그래픽 유저 인터페이스를 생성한다. 일 실시형태에서, 프리젠테이션 모듈(322)은, 프로세서(302)에 의해 실행될 수 있고, 디스플레이 디바이스(206) 상에 이미지를 표시하는 씬클라이언트(thin client) 루틴이다. 프리젠테이션 모듈(322)은 버스(320)에 의해 디스플레이 디바이스(206), 프로세서(302), 메모리(304) 및 포지션 바 및 북마크 모듈(328)에 연결된다.
기타 애플리케이션(324)은 프로세서(302)에 의해 실행될 수 있는 각종의 다른 타입의 기능성을 위한 기타 소프트웨어 및 루틴을 포함한다. 일 실시형태에서, 워드 처리 애플리케이션, 전자 메일 애플리케이션, 금융 애플리케이션, 및 웹 브라우저 애플리케이션을 포함하지만 이들로 한정되지 않는 하나 이상의 애플리케이션 프로그램이, 프로세서(302)에 의해 실행된다.
포지션 바 및 북마크 모듈(328)은, 문서의 페이지 사이를 내비게이트하는 포지션 바를 제공하고, 북 마킹 기능을 제공하는 신규한 그래픽 유저 인터페이스를 생성하기 위한 소프트웨어 및 루틴이다. 포지션 바 및 북마크 모듈(328)은, 문서 내의 페이지 사이를 이동하기 위한 조정가능한 페이지 박스를 가지는 포지션 바를 제공하는 그래픽 유저 인터페이스를 생성할 책임이 있다. 포지션 바 및 북마크 모듈(328)은, 스트로크 캡쳐 모듈(208)로부터의 펜 입력을 수신하고, 그 펜 입력을 지시 또는 명령으로서 해석하도록 구성된다. 포지션 바에 따라서 페이지 박스의 위치를 조정함으로써, 사용자는 표시되고 있는 페이지를 변경할 수 있다. 일 실시형태에서, 포지션 바 및 북마크 모듈(328)은 또한 포지션 바에 따라서 참조 마크를 추가, 이동 또는 삭제하기 위한 펜 입력에 응답한다. 일단 참조 마크가 설정되면, 포지션 바 및 북마크 모듈(328)은 기준 마크 또는 북마크 부근의 입력을 마킹된 위치로 이동시키기 위한 명령으로 해석한다.
마지막으로, 컴퓨팅 패드(202)는 하나 이상의 기타 I/O 디바이스(326)를 포함할 수 있다. 예컨대, 기타 I/O 디바이스(326)로는, 사운드를 생성하기 위한 스피커, 사운드를 기록하기 위한 마이크, 문서 또는 이미지를 기록하기 위한 스캐너나 카메라, 및 가속도계, 페이저 모터 또는 햅틱 피드백과 같은 기타 센서나 피드백 디바이스를 포함할 수 있다. 선택적으로, 기타 I/O 디바이스(326)로는 오디오 처리를 용이하게 하기 위해 하나 이상의 아날로그/디지털 또는 디지털/아날로그 변환기 및/또는 하나 이상의 디지털 신호 처리기를 포함할 수 있다. 이들 기타 I/O 디바이스(326)는 프로세서(302) 및 메모리(304)와의 통신을 위해 버스(320)에 의해 연결된다. 선택적으로, 저속의 덜 중요한 태스크로부터 메인 프로세서(302)의 부담을 줄일 뿐만 아니라 전원 시스템 제어를 용이하게 하기 위해, 마이크로컨트롤러를 기타 I/O 디바이스(326)의 일부로서 추가할 수도 있다.
스트로크 및 이미지 워크플로우 서버(106)
이제 도 4를 참조하여, 스트로크 및 이미지 워크플로우 서버(106)의 실시형태에 대해 더 상세하게 설명한다. 스트로크 및 이미지 워크플로우 서버(106)는 프로세서(402), 메모리(404), 통신 유닛(406), 문서 전송 모듈(408), 클록부(410), 워크플로우 모듈(412), 로깅 모듈(416), 기타 애플리케이션(418), 버스(420), 검증 모듈(430), 및 서비스 제공자 선택 모듈(432)을 포함한다. 대안적인 실시형태에 있어서, 스트로크 및 이미지 워크플로우 서버(106)는 디스플레이 디바이스(422), 출력 디바이스(424), 기기의 고유 ID 스토리지(426) 및 입력 디바이스(428)를 더 포함한다.
당업자에게는, 스트로크 및 이미지 워크플로우 서버(106)의 구성요소 중 일부가 컴퓨팅 패드(202)의 구성요소와 동일하거나 유사한 기능을 갖는 것이 명백하므로, 이들 구성요소에 대한 설명은 여기에서 반복하지 않는다. 예컨대, 프로세서(402), 메모리(404), 통신 유닛(406), 문서 전송 모듈(408), 로깅 모듈(416), 클록부(410), 기타 애플리케이션(418), 디스플레이 디바이스(422), 출력 디바이스(424), 기기의 고유 ID 스토리지(426), 및 입력 디바이스(428)는 각각 도 3의 프로세서(302), 메모리(304), 통신 유닛(306), 문서 전송 모듈(316), 로깅 모듈(314), 클록부(310), 기타 애플리케이션(324), 디스플레이 디바이스(206), 출력 디바이스(220), 기기의 고유 ID 스토리지(308), 및 입력 디바이스(210-216)와 유사한 기능을 갖는다. 스트로크 및 이미지 워크플로우 서버(106)와 컴퓨팅 패드(202)의 구성요소들 간의 몇가지 차이점에 대해서 이하에 기재한다. 예컨대, 통신 유닛(406)은 무선 대신에 유선으로 스트로크 및 이미지 워크플로우 서버(106)를 네트워크(104)에 연결할 수 있다. 스트로크 및 이미지 워크플로우 서버(106)가 다수의 휴대용 컴퓨팅 기기(102)를 서비스하기 때문에 프로세서(402)는 프로세서(302)보다 연산 능력이 더 많다. 문서 전송 모듈(408)은 이메일 클라이언트와 대립되는 이메일 서버이다. 디스플레이 디바이스(422)는 CRT일 수 있고, 출력 디바이스(424)는 스피커이다. 입력 디바이스(428)는 키보드 및 마우스 타입의 컨트롤러를 포함한다. 당업자라면 스트로크 및 이미지 워크플로우 서버(106)의 구성요소가 원격 클라이언트와 대립되는 하드웨어 서버로서 기능하기 때문에 다양한 다른 차이점이 있을 수 있다는 것을 알 것이다.
스트로크 및 이미지 워크플로우 서버(106)의 검증 모듈(430)은 문서의 처리를 검증하기 위한 소프트웨어 및 루틴이다. 일 실시형태에 있어서, 검증 모듈(430)은 후술하는 바와 같이 문서 처리의 검증을 수행하도록 프로세서(402)에 의해 실행될 수 있는 루틴이다. 검증 모듈(430)은 버스(420)에 의해 프로세서(402), 메모리(404) 및 통신 유닛(406)에 연결된다. 검증 모듈(430)은 스트로크 및 이미지 워크플로우 서버(106)와 독립적으로 이용될 수 있다는 점에 주목한다. 실제로, 검증 모듈(430)은 특정 서버를 신뢰할 필요 없이 독립적인 문서 검증을 위해 컴퓨터(108) 상에서 실행될 수 있다.
스트로크 및 이미지 워크플로우 서버(106)의 워크플로우 모듈(412)은 문서 또는 포맷화된 메시지를 처리 및 라우팅하기 위한 소프트웨어 및 루틴이다. 워크플로우 모듈(412)은 문서를 작성하거나 또는 포맷화된 메시지를 작성한다. 또한, 워크플로우 모듈(412)은 시스템 로그[로깅 모듈(416), 메모리(404) 또는 데이터 스토리지(110)에 저장됨]를 작성하기 위해 로깅 모듈(416)과 협업하고, 필요하다면 그 로그를 공개하거나 이용 가능하게 한다. 또한, 워크플로우 모듈(412)은 처리 워크플로우의 일부로서, 문서 또는 포맷화된 메시지를 다음 장소로 라우팅할 책임이 있다. 일 실시형태에 있어서, 컴퓨팅 패드(202)는, 문서를 제출하거나 첨부물을 포함하는 응답 이메일을 송신함으로써 스트로크 및 이미지 워크플로우 서버(106)에 그 문서를 반환하고, 워크플로우 모듈(412)은 라우팅 및 다음 워크플로우 단계를 결정한다. 워크플로우 모듈(412)에 의한 시스템 로그 작성 처리는 뒤얽힌 로그를 작성할 수 있고, 문서의 별개의 페이지를 서비스하는 다수의 워크플로우 모듈(412)의 존재는 검출되는 일 없이 문서를 고치는 것의 어려움을 크게 증대시킨다는 점에 주목해야 한다.
이해의 편의 및 용이함을 위하여, 워크플로우 내에서 문서의 포워딩 및 문서의 처리는 스트로크 및 이미지 워크플로우 서버(106)의 워크플로우 모듈(412)에 의해 수행되는 것으로서 후술하지만, 당업자에게는, 대안적으로, 동일한 작업이 컴퓨팅 패드(202)에 의해서도 수행될 수 있다는 것이 명백하게 된다.
당업자라면, 스트로크 및 이미지 워크플로우 서버(106)의 워크플로우 모듈(412)에 있어서, 이 컴퓨팅 패드(202)로부터 문서가 수신되면[컴퓨팅 패드(202)에 의해 제출되면] 그 문서로 무엇을 해야 할 지를 결정하는 다양한 방식이 있다는 것을 알 것이다. 일 실시형태에 있어서, 컴퓨팅 패드(202)는 특정 스트로크 및 이미지 워크플로우 서버(106)와 협업하여, 페이지를 그 스트로크 및 이미지 워크플로우 서버(106)에 제출하도록 구성되며, 이어서 그 페이지에 대해서, 스트로크 및 이미지 워크플로우 서버(106)는 미리 프로그래밍된 룰에 기초하여 다음 단계를 결정한다.
다른 실시형태에 있어서, 워크플로우는 문서에 또는 그 문서를 송신한 이메일(포맷화된 메시지)에 지정되어 있다. 이메일로 문서를 수신하는 간단한 경우에, 컴퓨팅 패드(202)는 완성된 문서를 스트로크 및 이미지 워크플로우 서버(106)에 반환한다. 그 후, 스트로크 및 이미지 워크플로우 서버(106)는 완성 문서로부터 메타데이터를 추출하고, 워크플로우에서의 다음 단계를 결정한 다음, 그 완성 문서를, 워크플로우에서의 다음 단계를 수행하도록 확인된 기기[예컨대, 컴퓨터(108)]에 송신한다. 대안적인 실시형태에 있어서, 컴퓨팅 패드(202)는 그 완성된 문서를 이메일에 의해 스트로크 및 이미지 워크플로우 서버(106)에 반환하는데, 이 이메일은 워크플로우를 포함한다. 스트로크 및 이미지 워크플로우 서버(106)는 완성 문서에 포함된 이메일로부터 완성 문서를 송신할 다음 이메일 어드레스를 결정한다. 대안적인 실시형태에 있어서, 이메일 헤더 대신에 또는 이메일 헤더에 추가하여 HTTP 헤더를 이용할 수 있다. 페이지 이미지, 스트로크, 및 메타데이터를 지원하는 방식으로 문서가 전송되었다면, 메타데이터는 워크플로우 명령어와 스테이터스를 포함할 수 있다. 또한, 간단한 경우에, 메타데이터는 이메일 어드레스 리스트와 워크플로우의 현재 단계를 포함한다.
일 실시형태에서, 워크플로우는, 미리 규정되어 있으며, 워크플로우에서의 각 특정 잡, 단계 또는 작업을 수행하기 위하여 어떤 서비스 제공자(예를 들어, 서비스 제공자 컴퓨터(122a-122n))를 이용해야 하는지를 특정한다.
그러나, 또 다른 실시형태에서, 워크플로우 모듈(412)은, 서비스 제공자 선택 모듈(432)과 협동하여, 워크 플로우 내의 잡, 단계 또는 작업을 수행하는데 어떤 서비스 제공자를 이용해야 하는지를 자동적으로 또는 반자동적으로 결정한다. 서비스 제공자 선택 모듈(432)은 스트로크 및 이미지 워크플로우 서버(106)의 다른 구성요소와 통신하기 위하여 버스(420)에 결합된다. 또한, 서비스 제공자 선택 모듈(432)은, 버스(420)에 의해, 네트워크(104), 서비스 제공자 컴퓨터(122a-122n) 및 휴대용 컴퓨팅 기기(102a-102n)에 결합된다. 서비스 제공자 선택 모듈(432)은 휴대용 컴퓨팅 기기(102a-102n)를 통하여 사용자와 상호작용하여, 자동 선택의 레벨(예를 들어, 자동, 반자동 또는 수동) 등의 사용자 선호도 및 그 사용자에게 가장 중요하게 되는 서비스 제공자의 속성을 수집한다. 서비스 제공자 선택 모듈(432)은 이 정보를 수집 및 저장하고, 이를 이용하여 그 사용자와 연관되는 워크플로우의 작업, 잡 또는 부분을 수행하는데 어떤 서비스 제공자를 이용해야 하는지를 결정한다. 또한, 서비스 제공자 선택 모듈(432)은 네트워크(104) 상의 서비스 제공자를 모니터하여, 어떤 서비스 제공자가 서비스를 제공하는데 이용가능하며 그 서비스의 제공을 준비하는 지를 결정한다. 서비스 제공자 선택 모듈(432) 및 그 구성요소를 도 6을 참조하여 더 상세히 설명한다.
문서 포맷
문서의 기본 포맷 또는 구조는 하나 이상의 파일을 포함하는 디렉토리 및 디렉토리들로 이루어진다. 이 디렉토리의 내부에는, 선택적인 메타데이터뿐만 아니라 일련의 페이지 이미지가 존재한다. 메타데이터는 각 페이지와 독립적으로 연관될 수 있거나 및/또는 전체로서 문서와 연관될 수 있다. 이러한 메타데이터는 추가적인 내포(nested) 디렉토리에 저장되며, 선택사항이다. 일 실시형태에서, 문서의 각 페이지는 이미지로서 저장된다. 이는 컴퓨팅 패드(202)가 넓은 범위의 문서 포맷을 지원하는 것의 요구를 피하기 때문에 특히 유리하다. 컴퓨팅 패드(202)에, 순수 이미지 즉, 렌더링을 요구하지 않는 파일을 제공하는 것은, 일관된 뷰를 확보하고, 폰트 또는 기타 그래픽 커맨드를 렌더링할 수 없는 문제점을 제거한다. 일 실시형태에서, 이미지는 이하의 파일 포맷들 즉, JPEG, JPEG2000, JPM, PNG, PDF, TIFF 또는 간단한 PBM(간단한 비트 맵) 파일 포맷 중 하나에 존재한다. 당업자라면, 문서 디렉토리가 표준 ZIP 포맷 아카이브로서 전송 및 저장될 수 있다는 것을 알 것이다.
동일한 초기 이름 세그먼트를 공유하는 복수의 페이지 이미지 파일은, 등가의 품질의, 파일의 대안적인 표현으로 간주되며, 프리젠테이션 모듈(322)은 그 사용을 위해 가장 편리한 표현을 선택할 수 있다. 따라서, 예컨대, 이하의 컨텐츠 즉, 001.pgm, 001.png, 002.pgm, 002.jpg 및 5.pgm을 가진 디렉토리는, 3 페이지를 가진 문서를 산출한다. 첫번째 페이지는 2개 파일 중 하나 즉, 001.pgm 또는 001.png에 의해 표시된다. 두번째 페이지는 002.jpg 또는 002.pgm에 의해 표시되며, 세번째 페이지는 5.pgm에 의해 표시된다. 일 실시형태에서, 이름의 세그먼트는, 기기가 이미지를 용이하게 선택할 수 있도록 어떤 이미지의 해상도 또는 사이즈를 지정하는데 이용될 수 있다. 예를 들어, page001.600x800.pgm 및 page001.cif.pgm의 이미지가 있으며, 여기서 600x800 또는 cif(공통의 중간 포맷)은 이미지의 해상도를 식별한다.
복수의 이미지 각각은 연관된 페이지 또는 이미지 메타데이터를 포함할 수도 있다. 페이지 또는 이미지 메타데이터는 스트로크 데이터, 기타 메타데이터 및 로그 데이터를 포함한다. 예를 들어, 페이지 또는 이미지 메타데이터는 또한 캡처 이미지가 삽입 또는 배치될 수 있는 이미지에서의 영역을 식별하는 직사각형 그림을 포함할 수 있다. 또한, 전체 문서는 문서 메타데이터를 포함한다. 문서 메타데이터는 문서 로그 및 기타 문서 메타데이터를 포함한다.
문서에 대한 메타데이터는, 전체로서의 문서 또는 개별 페이지 중 어느 하나와 연관되는, 디렉토리들에 저장되는 파일들에 의해 표시된다. 일 실시형태에서, 메타데이터 디렉토리는, 디렉토리명에서의 문자의 최종쌍으로서 접미사 ".d"를 갖는다. 메타데이터 디렉토리 내의 정보는, 고유의 이름 세그먼트를 가지도록 예상되는, 파일 또는 서브디렉토리에 저장된다. 단체는 고유의 식별자 예를 들어, 종래의 자바 리버스드(reversed) 도메인명법을 이용하여 이들에 이름을 부여하도록 권장된다. 메타데이터 디렉토리는 그 자체가 서브디렉토리를 포함할 수 있고, 그 컨텐츠는 그 디렉토리의 작성자에 따라서 정렬 및 정의된다. 일반적인 정책은, 메타데이터 파일 또는 디렉토리의 컨텐츠를 이해하지 못하는 애플리케이션들이 그 컨텐츠를 보존해야 하고 이를 변경하지 않아야 한다는 것이다. 주어진 메타데이터 파일 또는 디렉토리가 자체 포함되어 있으므로, 이들이 동일한 디렉토리에 포함되지 않는 한, 메타데이터의 항목들 사이에 어떤 의존성이 존재하지 않아야 한다. 메타데이터의 항목은, 전체로서의 문서 또는 특정 페이지 중 어느 하나에 연결된다.
일 실시형태에서, 문서 메타데이터(406)는 글로벌 메타데이터이고, "document.d"로 명칭된 하나 이상의 파일을 포함하는 디렉토리에 저장된다. 이 디렉토리는 상부 레벨 디렉토리에 포함된다. 문서 메타데이터 내의 문서와 연관되는 액션들의 로그를 저장하는 것이 유용하다. 일 실시형태에서, 시스템(100)은 또한 문서 메타데이터로서 "오리지널" 문서의 버전을 저장한다. 예를 들어, 문서가 PDF, 마이크로소프트 워드, 마이크로소프트 엑셀 또는 기타 문서로부터 형성되면, 오리지널 포맷 문서는 메타데이터 디렉토리에 저장될 수 있다.
일 실시형태에서, 페이지 또는 이미지 메타데이터는, 페이지 이미지와 동일한 이름 세그먼트로 이름지어 지고, 확장자 ".d"로 끝난다. 예를 들어, 페이지 이름이 "page.001.jpg"로 이름지어 지면, 페이지 메타데이터 디렉토리는 이것이 그 페이지와 연관되어 있다는 것을 나타내도록, "page.0001.d"로 이름지어져야 한다. 다른 실시형태에서, 페이지 또는 이미지 메타데이터는 페이지 메타데이터 디렉토리 내의 각 페이지에 대한 일부 포맷에서 오리지널 페이지를 포함한다. 이 메타데이터는, 예를 들어, 상부 레벨 디렉토리에서 그리고 페이지 메타데이터 디렉토리에서 래스터 포맷을 저장함으로써, 문서가 작성되자 마자 만들어지고, 또한 오리지널 래스터 포맷의 카피는, 페이지 이미지가 먼저 변경될 때 저장될 수 있다. 다른 실시형태들에서, 페이지 또는 이미지 메타데이터는 로그 데이터를 포함한다. 이 로그 데이터는 페이지에 대한 메타데이터 디렉토리에서의 각 페이지에 적용되는 변경에 대한 로그를 표시한다. 다른 메타데이터는 특정 페이지 또는 이미지에 관련되는 어떤 다른 데이터를 저장하는데 이용된다. 예를 들어, 페이지에 이미지가 추가되면, 페이지 메타데이터 디렉토리에 이 추가된 이미지를 저장하는 것이 유용하다. 이미지는, 예를 들어, "수신" 또는 "제출"과 같이 페이퍼 페이지를 "스탬핑"하는 것과 유사한 이유로 페이지에 추가될 수 있으므로, 어떤 독자에게 페이지의 스테이터스의 시각적인 표시를 제공한다.
자동 문서 처리
도 5는 본 발명에 따른 자동 문서 처리 방법의 일 실시형태를 도시한다. 이 처리는 스트로크 및 이미지 워크플로우 서버(106)가 휴대용 컴퓨팅 기기(102a)와 연관된 인박스(502)를 작성 및 설정하는 것으로 시작된다. 그 후, 스트로크 및 이미지 워크플로우 서버(106)는 휴대용 컴퓨팅 기기(102a)에 전달되도록 스케쥴링된 하나 이상의 문서(504)를 작성하여 인박스(502)에 배치한다. 예컨대, 문서는 의학 정보 폼과 같이 휴대용 컴퓨팅 기기(102a)의 사용자가 완성하여 반환해야 하는 폼일 수 있다. 스트로크 및 이미지 워크플로우 서버(106)는 인박스(502)로부터의 문서(504)를 휴대용 컴퓨팅 기기(102a) 상에서 대응하는 인박스(도시 생략)에 자동으로 전송한다(단계 506). 이 실시형태에 따르면, 문서의 전송은, 1) 문서(504)가 인박스(502)에 배치되는 1회, 2) 휴대용 컴퓨팅 기기(102a)가 스트로크 및 이미지 워크플로우 서버(106)와의 통신을 위해 연결되는 1회, 3) 15분 간격과 같이 주기적인 횟수, 또는 4) 이들의 다양한 조합으로 다수의 상이한 횟수로 일어날 수 있다. 문서(504)가 휴대용 컴퓨팅 기기(102a)에 전송되면(단계 506), 휴대용 컴퓨팅 기기(102a)는 그 문서(504)에 주석을 달고 거기에 스트로크 및 기타 정보를 추가하는데 사용된다. 주석이 문서(504)에 추가되고 그 문서(504)는 선(508)으로 나타내는 바와 같이 휴대용 컴퓨팅 기기(102a)에 다시 저장된다. 일 실시형태에 있어서, 문서(504)에 추가된 정보와 주석은 휴대용 컴퓨팅 기기(102a)로부터 백업 서버(512)에 백업된다(단계 510). 이 문서 전송은 전술한 바와 마찬가지로 때때로 일어날 수 있다. 당업자라면 휴대용 컴퓨팅 기기(102a)에 의해 이루어진 이 주석 백업 단계가 휴대용 컴퓨팅 기기(102a)의 전력을 보존하기 위해 매 10분 이상과 같은 정규 간격으로 수행될 수 있다는 것을 알 것이다. 또 다른 실시형태에서는, 백업 간격이 사용자에 의해 설정될 수 있다. 사용자가 특정 문서(504)에 주석 추가를 완료하고 문서(504)의 제출이 준비되면, 사용자는 제출 명령을 입력하고, 주석달린 문서(504)는 휴대용 컴퓨팅 기기(102a)로부터 스트로크 및 이미지 워크플로우 서버(106)에 전송된다(단계 514). 주석달린 문서(504)가 스트로크 및 이미지 워크플로우 서버(106)에 수신되면, 그 문서는 저장되고 로깅되며 워크플로우 처리에서의 다음 단계가 결정된다. 문서(504)가 다음에 어디로 송신되어야 하는지의 결정에 기초하여, 스트로크 및 이미지 워크플로우 서버(106)는 문서를 그 결정된 기기[예컨대, 서비스 제공자 컴퓨터(122a-122n)]에 송신한다(단계 516). 도 5는 서비스 제공자 컴퓨터(122a-122n)로서 복수의 컴퓨터를 도시하고 있지만, 당업자라면 서비스 제공자 컴퓨터(122a-122n)가 문서(504)에 추가 처리 또는 주석달기를 수행할 수 있는 각종 상이한 벤더를 나타낸다는 것을 알 것이다.
본 발명은 폼 또는 문서를 자동으로 처리하여 이들을 워크플로우에서 진행시키는 레벨 때문에 특히 바람직하다. 전술한 도 5는 자동으로 그 폼 또는 문서가 워크플로우에서 진행되고 스트로크 및 이미지 워크플로우 서버(106)로부터 휴대용 컴퓨팅 기기(102a-102n)에 송신된다는 점에서 본 발명이 얼마나 자동적인지를 도시하고 있다. 사용자에 의해 폼 또는 문서에 주석이 달리면, 이 폼 또는 문서는 사용자가 단일의 "제출" 커맨드 또는 명령어를 입력하는 것만으로 스트로크 및 이미지 워크플로우 서버(106)에 다시 송신된다. 이 폼 또는 문서의 자동 레벨 처리는 매일 문서 처리를 위해 휴대용 컴퓨팅 기기(102a)를 사용하는 것을 충분히 용이하고 간단하게 하기 때문에 특히 유리하다. 또한, 본 발명은 사용자에게 연필과 페이퍼를 사용하는 것을 매우 가깝게 모방하는 경험 또는 상호작용을 제공하므로, 학습 곡선이 거의 또는 전혀 필요 없다는 점에서 효과적이다.
또한, 본 발명은 컴퓨팅 패드(202)에 2 가지 모드의 상호 작용을 제공하는 사용자 인터페이스를 제공한다. 제1 모드(인박스 모드)에서, 사용자 인터페이스는 사용자가 편집 또는 주석달기를 할 수 있는 문서를 모두 열거한 인박스를 보여준다. 이 제1 모드에서, 사용자의 액션은 3가지 즉, 1) 문서가 열거되는 순서를 재정렬, 2) 편집할 문서를 선택, 3) 편집할 새로운 문서를 작성하는 것으로 제한된다. 제2 모드(문서 주석달기 모드)에서는, 문서의 이미지를 표시하는 사용자 인터페이스를 보여준다. 또한, 사용자의 액션도 3가지 즉, 1) 문서에 스트로크 및 오케이젼(occasion)을 추가, 2) 문서에 그림을 추가, 3) 이미지의 상이한 페이지를 표시하는 것으로 천이 또는 다시 인박스 모드로 천이시키는 것으로 제한된다. 본 발명은 사용자에게 요구되는 결정의 수를 제한하기 때문에 특히 유리하다. 문서와 상호작용하는 인터페이스를 2개만 제공하고 각 모드에서 취해질 수 있는 액션의 수를 제약함으로써, 사용자 인터페이스는 세련되게 단순하며 효과적이다. 이에 사용자 인터페이스는 학습 곡선이 거의 또는 전혀 없게 쉽게 채택될 수 있기 때문에, 페이퍼를 이용한 상호작용을 모방하는 사용자 경험을 제공하고, 워크플로우에서의 자동 처리와 정보의 수집을 통합한다. 더욱이, 본 발명의 실시형태는 단일 커맨드의 워크플로우 라우팅을 제공한다.
서비스 제공자 선택 모듈(432)
이제 도 6을 참조하여, 서비스 제공자 선택 모듈(432)에 대한 일 실시형태를 설명한다. 서비스 제공자 선택 모듈(432)의 이 실시형태는, 사용자 선호도 콜렉터 및 그래픽 유저 인터페이스(GUI)(602), 사용자 선호도 스토리지(604), 서비스 제공자 이용도 검출기(606), 서비스 제공자 속성 콜렉터(608), 서비스 제공자 선택 엔진(610) 및 서비스 제공자 속성 스토리지(612)를 포함한다. 이러한 구성요소들은, 아래에 추가로 규정되는 바와 같이, 서로 통신하기 위해 그리고 스트로크 및 이미지 워크플로우 서버(106) 및 휴대용 컴퓨팅 기기(102a 내지 102n)와 통신하기 위해 버스(420)에 결합된다. 당업자는, 다른 실시형태에서, 이러한 구성요소(602, 604, 606, 608, 610 및 612)가 구성요소(602, 604, 606, 608, 610 및 612)의 기능적 설명 및 후속하는 그 통신 필요성에 의해 요구되는 바와 같이 다른 구성요소들에 직접 결합될 수 있다는 것을 인식할 수 있다.
사용자 선호도 콜렉터 및 그래픽 유저 인터페이스(GUI)(602)는 사용자에게 GUI를 보여주며, 사용자 선호도 정보를 수집하는 소프트웨어 및 루틴이다. 예컨대, 사용자 선호도 콜렉터 및 GUI(602)는 프로세서(예컨대, 프로세서(402))에 의해 실행가능한 루틴이다. 또 다른 실시형태에서, 사용자 선호도 콜렉터 및 GUI(602)는 여기서 설명된 동작을 수행하도록 특별히 구성되는 하드웨어 모듈이다. 사용자 선호도 콜렉터 및 GUI(602)는, 자동 서비스 제공자 선택을 위한 사용자의 선호도에 대한 정보 및 서비스 제공자의 속성이 사용자에게 가장 중요하게 되는 정보를 수집한다. 사용 선호도 콜렉터 및 GUI(602)는 또한 간단하고 용이한 방식으로 휴대용 컴퓨팅 기기(102a)를 이용하여 사용자가 이 정보를 입력할 수 있는 신규한 그래픽 유저 인터페이스를 생성한다. 사용자 인터페이스의 일례는 도 8a 및 도 8b 에 도시되며, 이하에 더 상세히 설명된다. 일 실시형태에서, 사용 선호도 콜렉터 및 GUI(602)는, 신규한 GUI를 생성하는데 필요한 정보를 전송하고, 사용자에 의해 컴퓨팅 패드(202)에 입력되는 정보를 수신하기 위하여, 컴퓨팅 패드(202)의 프리젠테이션 모듈(322)과 통신하도록 구성된다. 사용 선호도 콜렉터 및 GUI(602)는 또한 사용자 선호도 스토리지(604)에서 컴퓨팅 패드(202)로부터의 사용자의 선호도에 대하여 수신된 정보를 저장하는 사용자 선호도 스토리지(604)와 통신하도록 구성된다. 사용 선호도 콜렉터 및 GUI(602)의 기능, 동작 및 구조는 도 7과 함께 설명되는 방법을 참조하여 이하에 더 상세히 설명한다.
사용자 선호도 스토리지(604)는 사용자의 선호도 및 다른 정보를 저장하기 위한 종래의 타입의 메모리이다. 일 실시형태에서, 사용자 선호도 스토리지(604)는 휘발성 메모리이며, 또 다른 실시형태에서, 사용자 선호도 스토리지(604)는 플래시 메모리 또는 하드 디스크 등의 비휘발성 메모리이다. 또 다른 실시형태에서, 사용자 선호도 스토리지(604)는, 다른 사용자에 대한 용이한 액세스 및 리던던시에 대한 또 다른 하드웨어 서버 또는 네트워크 스토리지에 대하여 사용자 정보를 백업하는 통신 및 기능적 능력을 포함한다. 일 실시형태에서, 사용자 선호도 스토리지(604)는, 정보가 용이하고 신속하게 액세스될 수 있도록 지시된 방식으로 복수의 사용자 및 그들의 선호도에 대한 정보를 저장하는 데이터베이스를 포함한다. 사용자 선호도 스토리지(604)는 사용자로부터 이들 선호도에 대한 새로운 또는 변경된 정보를 수신하도록 사용자 선호도 콜렉터 및 GUI(602)에 결합된다. 사용자 선호도 스토리지(604)는, 또한 서비스 제공자 선택 엔진(610)이 워크플로우의 특정 작업 또는 일에 대하여 어떤 서비스 제공자를 추천 또는 이용해야 하는지를 결정하는데 있어서 사용자의 정보에 액세스할 수 있도록, 서비스 제공자 선택 엔진(610)에 결합된다.
서비스 제공자 이용도 검출기(606)는 워크플로우의 작업 또는 일을 수행하기 위하여 어떤 서비스 제공자 컴퓨터(122)가 액세스될 수 있고 이용가능하지를 결정하도록 네트워크(104)를 모니터링하는 소프트웨어 및 루틴이다. 예컨대, 서비스 제공자 이용도 검출기(606)는 프로세서(예컨대, 프로세서(402))에 의해 실행가능한 루틴이다. 또 다른 실시형태에서, 서비스 제공자 이용도 검출기(606)는 여기서 설명된 동작을 수행하도록 특별히 구성된 하드웨어 모듈이다. 서비스 제공자 이용도 검출기(606)는 버스에 의해 네트워크(104)에 결합된다. 네크워크(104)를 통한 서비스 제공자 이용도 검출기(606)는 워크플로우의 작업 또는 일을 수행하기 위하여 어떤 서비스 제공자가 이용가능하고, 액세스가능하고 그리고 동작가능한지를 결정할 수 있다. 일 실시형태에서, 서비스 제공자 이용도 검출기(606)는 작업 또는 서비스를 수행하기 위하여 어떤 서비스 제공자가 네트워크(104)를 통하여 액세스될 수 있고 동작가능한지에 대한 실시간 분석을 제공한다. 서비스 제공자 이용도 검출기(606)는, 네트워크(104), 어떤 서비스 제공자가 현재 이용가능한지를 나타내는 서비스 제공자 선택 엔진(610), 및 스트로크 및 이미지 워크플로우 서버(106)의 다른 구성요소를 통하여 서비스 제공자 컴퓨터(122a-n)와 통신하도록 구성된다.
일 실시형태에서, 서비스 제공자 이용도 검출기(606)는 서비스 제공자를 식별하기 위하여 네트워크(104)를 활발히 검색하거나 또는 크롤(crawl)한다. 일단 새로운 또는 이전에 이용가능하지 않은 서비스 제공자가 식별되면, 서비스 제공자 이용도 검출기(606)는 이들의 상태를 결정하기 위하여 어떤 서비스 제공자 컴퓨터(122)에 이용도 문의를 전송한다. 또 다른 실시형태에서, 서비스 제공자 이용도 검출기(606)는 네트워크(104) 상에서 항상 이용가능한 모든 서비스 제공자의 리스트를 유지하고, 서비스 제공자가 현재 이용가능하며 동작가능하다는 것을 확인하는 신호를 주기적으로 전송한다. 서비스 제공자 이용도 검출기(606)는 이것이 전송한 이용도 문의에 대하여 수신된 응답에 기초하여 이용가능한 서비스 제공자 컴퓨터(122)의 리스트를 유지한다. 일 실시형태에서, 이용가능한 서비스 제공자의 리스트는 실시간으로 유지된다. 또 다른 실시형태에서, 이용가능한 서비스 제공자의 리스트는 5 내지 10분의 대기 시간을 가진다.
또 다른 실시형태에서, 서비스 제공자 이용도 검출기(606)는 등록 리스트를 유지하고, 스트로크 및 이미지 워크플로우 서버(106)로부터 일을 수신하는데 관심이 있는 어떤 서비스 제공자는, 서비스 제공자 이용도 검출기(606)를 이용하여 등록되도록 요구된다. 서비스 제공자 이용도 검출기(606)를 이용하여 등록되기를 원하는 어떤 서비스 제공자는, 서비스 제공자 이용도 검출기(606)에 등록 요청을 전송한다. 서비스 제공자 이용도 검출기(606)는, 특정 응답을 생성하는 메시지를 전송하고, 서비스 제공자가 등록되었음을 나타내는 확인 메시지를 서비스 제공자에게 전송하는 등에 의해, 서비스 제공자가 네트워크(104)를 이용하여 액세스가능하다는 것을 확인한다. 그 후, 서비스 제공자 이용도 검출기(606)는 확인된 서비스 제공자를 등록된 서비스 제공자의 리스트에 추가한다. 당업자는, 어떤 서비스 제공자가 액세스가능하며 동작가능하지를 결정하기 위하여 서비스 제공자 이용도 검출기(606)에 대한 다른 방법들이 존재한다고 인식한다. 예를 들어, 폴링 방식은 서비스 제공자의 현재 상태를 결정하는데 이용될 수 있다. 대안적으로, 서비스 제공자는 이들 상태가 동작가능하다는 것을 유지하기 위하여 미리 정해진 시간에서 서비스 제공자 이용도 검출기(606)에게 심박 신호를 발행하도록 요구할 수도 있다. 또한, 상기 방법은 서비스 제공자 이용도 검출기(606)에 의해 여러 가지 방식으로 결합될 수도 있다.
서비스 제공자 속성 콜렉터(608)는 워크플로우의 작업 또는 일을 완료하는 경우에 서비스 제공자 컴퓨터(122a-122n)의 성능을 모니터링하기 위한 소프트웨어 및 루틴이다. 예를 들어, 서비스 제공자 속성 콜렉터(608)는 프로세서(예컨대, 프로세서(402))에 의해 실행가능한 루틴이다. 또 다른 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 여기서 설명되는 동작을 수행하도록 특별히 구성되는 하드웨어 모듈이다. 서비스 제공자 속성 콜렉터(608)의 동작에 대하여 도 9의 방법을 참조하여 이하에 더 상세히 설명한다. 서비스 제공자 속성 콜렉터(608)는 여러 가지 다른 소스로부터 서비스 제공자에 대한 여러 가지 정보를 수집한다. 예를 들어, 서비스 제공가 속성 콜렉터(608)는 다른 서비스 제공자의 성능에 대한 정보를 수집한다. 이러한 정보 즉, a) 네트워크로부터 포착된 통계 및 다른 데이터에 기초한 부분 자동화; b) 서비스 제공자의 성능에 기초한 사용자로부터의 부분 수동 또는 요청; 및 c) 서비스 제공자가 다른 증명서 등을 가질 수 있는 어떤 기준에 관하여 서비스 제공자로부터 제공된 셀프 정보가 수집된다. 서비스 제공자 속성 콜렉터(608)에 의해 수집된 속성의 리스트의 일례를, 아래의 표 1에 도시한다.

속성

설명

비용

작업 또는 잡을 수행하기 위한 비용


대역폭

일 또는 작업을 처리하는 서비스 제공자의 능력 및 이러한 잡 또는 작업의 크기


서비스의 품질

작업 또는 잡의 수행에 의해 생성된 결과의 품질 또는 정밀도


고객 피드백

미리 규정된 스케일 상의 서비스의 사용자에 의한 평가


속도 또는 서비스 처리량

완료될 작업 또는 잡에 대하여 시간이 얼마나 걸리는지

이용도

서비스가 동작가능한 경우의 동작 시간 또는 횟수

HIPPA 또는 다른 기준 준수

종료되는 처리단이 HIPPA 컴플라이언트인지


증명

서비스 제공자가 제3 파티 레이팅 에이전시에 의해 증명되는지


승인

서비스 제공자가 작업 또는 잡을 수행하기 위한 오리지널 장비 제조자에 의해 승인되는지


그린

서비스가 환경 친화적인 방식(예컨대, Lee 인증 및 어떤 레벨)으로 제공되는지


전문성

서비스 제공자가 전문적인 방식으로 행동하여 서비스를 전달하는지


적시성

세트된 데드라인 이전에 서비스 제공자가 작업 제품을 전달하는지


전문 지식

서비스 제공자가 작업 또는 잡을 수행하기 위해 필요한 전문지식을 가지는지


탄소 발자국

작업 또는 작을 수행하는 서비스 제공자에 대한 탄소 발자국

공정 거래

서비스 제공자가 고용인과 판매자를 상대하는데 있어서 공정 거래 관행을 이용하는지


자동화 레벨

처리의 일부를 수행하기 위하여 인간의 이용과는 반대로 머신에 의해 자동적으로 수행되는 잡 또는 작업의 퍼센티지

보안 기준의 준수

서비스가 FIPS 또는 다른 기기 보안과 같은 기준의 요건을 충족하는지


거절 비율

처리되는 전체 문서에 대한, 고객에 의해 거절되거나 고객에 의해 불평받은 문서의 비율

표 1
일 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 시스템(100)을 통하여 분포되어 있고, 스트로크 및 이미지 워크플로우 서버(106)의 서비스 제공자 선택 모듈(432)에서 동작가능한 집적 및 저장부를 포함한다. 이 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 또한 휴대용 컴퓨팅 기기(102), 서비스 제공자 컴퓨터(122)에서와 같이 시스템 내의 여러 가지 위치에서 동작가능한 씬 클라이언트 콜렉터 애플리케이션 또는 상기 서비스 제공자 컴퓨터(122)에 의해 문서의 처리에 대한 정보를 수집하여 그 정보를 서비스 제공자 선택 모듈(432)에서의 집적 및 저장부에 전송하는 백업 서버(512)를 포함한다. 서비스 제공자 속성 콜렉터(608)는 서비스 제공자 컴퓨터(122), 휴대용 컴퓨팅 기기(102) 및 서비스 제공자 속성 스토리지(612)에 결합된다. 서비스 제공자 속성 콜렉터(608)는 서비스 제공자 컴퓨터(122), 휴대용 컴퓨팅 기기(102) 및 옵션으로 백업 서버(512)로부터 서비스 제공자의 성능에 대한 정보를 수신한다. 서비스 제공자 속성 콜렉터(608)는, 서비스 제공자 선택 엔진(610)이 이용할 수 있도록 서비스 제공자 속성 스토리지(612)에 이 정보를 저장한다.
일 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 또한 일관성을 위하여 휴대용 컴퓨팅 기기(102) 및 서비스 제공자 컴퓨터(122)로부터 수신된 정보를 체크한다. 예를 들어, 이 정보가 일치하면, 정보는 서비스 제공자 속성 스토리지(612)에 전송되어 저장된다. 그러나, 이 정보가 일치하지 않으면, 서비스 제공자 속성 콜렉터는 어떤 데이터가 정확한 것인지를 판정하는 여러 가지 분석 단계 중 하나를 수행한다. 예컨대, 서비스 제공자 속성 콜렉터(608)는, 1) 데이터를 폐기할 수 있고, 2) 서비스 제공자 속성 콜렉터(608)가 어느 데이터 소스가 정확한지를 판정하려 하는 초기 조정 처리를 수행하며, 3) 휴대용 컴퓨팅 기기(102)로부터의 데이터를 서비스 제공자로부터의 데이터를 초과하여 자동적으로 수용하며, 4) 어떤 데이터 소스가 정확한지를 결정하는 검증 모듈(430)에 액세스할 수 있다. 대안적인 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 클라이언트 콜렉터 애플리케이션을 요구하지 않으며, 그 대신에 휴대용 컴퓨팅 기기(102), 스트로크 및 이미지 워크플로우 서버(106) 및 서비스 제공자 컴퓨터(122)의 로그에 액세스한다. 로그에 저장되는 정보를 이용하여, 서비스 제공자 속성 콜렉터(608)는, 서비스 제공자의 성능에 대한 복수의 통계를 수집할 수 있다.
당업자는, 서비스 제공자 속성 콜렉터(608)가 또한 사용자에 대한 조사를 나타내며, 휴대용 컴퓨팅 기기(102)를 통하여 사용자 피드백을 수집하는 소프트웨어 및 루틴을 포함한다는 것을 이해한다. 이와 유사하게, 서비스 제공자 속성 콜렉터(608)는 또한 서비스 제공자에 의해 완료하기 위하여 서비스 제공자 컴퓨터(122)에 대한 조사 테이블 및 다른 형태를 나타내는 소프트웨어 및 루틴을 포함한다. 따라서, 서비스 제공자 속성 콜렉터(608)는 3가지 소스 즉, 1) 수행되는 활동을 통하여 독립적으로 수집 및 검증된 정보 그리고 네트워크(104) 상에 전송 및 수신된 문서, 2) 휴대용 컴퓨팅 기기를 이용하여 사용자에 의해 제공된 정보, 및 3) 서비스 제공자 컴퓨터(122)에 의해 제공된 정보로부터 정보를 수집 및 집적할 수 있다.
서비스 제공자 속성 스토리지(612)는 서비스 제공자 속성 및 다른 정보를 저장하기 위한 종래의 타입의 메모리이다. 일 실시형태에서, 서비스 제공자 속성 스토리지(612)는 휘발성 메모리이며, 또 다른 실시형태에서, 서비스 제공자 속성 스토리지(612)는 플래시 메모리 또는 하드 디스크 등의 비휘발성 메모리이다. 또 다른 실시형태에서, 서비스 제공자 속성 스토리지(612)는 다른 사용자에 대한 용이한 액세스 및 리던던시에 대하여 또 다른 하드웨어 서버 또는 네트워크 스트로지에 관한 서비스 제공자 속성 정보를 백업하기 위한 통신 및 기능적 능력을 포함한다. 일 실시형태에서, 서비스 제공자 속성 스토리지(612)는 정보가 용이하고 신속하게 액세스될 수 있도록 지시된 방식으로 다른 서비스 제공자에 대한 정보를 저장하기 위한 데이터베이스를 포함한다. 서비스 제공자 속성 스토리지(612)는 새로운 또는 변경된 속성 정보를 수신하기 위하여 서비스 제공자 속성 콜렉터(608)에 결합된다. 서비스 제공자 속성 스토리지(612)는 또한 서비스 제공자 선택 엔진(610)이 워크플로우의 특정 작업 또는 잡에 대하여 추천 또는 이용하기 위하여 어떤 서비스 제공자를 결정하는 서비스 제공자 속성 정보에 액세스할 수 있도록, 서비스 제공자 선택 엔진(610)에 결합된다.
서비스 제공자 선택 엔진(610)은 워크플로우의 잡 또는 작업을 수행하는 서비스 제공자를 선택하기 위한 소프트웨어 및 루틴이다. 예컨대, 서비스 제공자 선택 엔진(610)은 프로세서(예컨대, 프로세서(402))에 의해 실행가능한 루틴이다. 또 다른 실시형태에서, 서비스 제공자 선택 엔진(610)은 여기서 설명된 동작을 수행하도록 특별히 구성된 하드웨어 모듈이다. 여러 가지 실시형태에서, 서비스 제공자 선택 엔진(610)은 가중합 알고리즘, 퍼지 논리 또는 확률론적 모델링을 이용하여,사용자에 의해 제공된 속성 선호도와 최적으로 매칭되는 서비스 제공자를 선택한다. 서비스 제공자 선택 엔진(610)의 동작을, 도 10 및 도 11을 참조하여 이하에 더 상세히 설명한다.
일 실시형태에서, 서비스 제공자 선택 엔진(610)은 사용자 선호도의 입력에 응답하여 4가지 모드 중 한가지 모드로 동작한다. 제1 모드(수동 모드)에서, 서비스 제공자 선택 엔진(610)은, 네트워크를 통하여 이용가능한 서비스 제공자를 단순히 식별하고, 사용자의 리스트 내에 이들을 나타낸다. 이는 어떤 작업을 수행하는데 이용가능한 전체 서비스 제공자의 리스트이며, 상기 서비스 제공자 선택 엔진(610)은 어떤 타입의 필터링도 제공하지 않는다. 제2 모드(반자동 모드)에서, 서비스 제공자 선택 엔진(610)은 네트워크(104) 상의 이용가능한 서비스 제공자를 식별한 후, 어느 속성이 사용자에 대하여 가장 중요한지에 대한 사용자 선호도를 이용하여 이용가능한 서비스 제공자를 필터링한다. 제2 모드에서, 사용자의 선호도를 만족하는 제한된 수의 서비스 제공자(예컨대, 3 내지 5개의 서비스 제공자)의 리스트가 제공되며, 사용자는 잡 또는 작업을 수행하기 위하여 서비스 제공자 중 하나를 선택한다. 동작의 제3 모드(자동)에서, 서비스 제공자 선택 엔진(610)은 네트워크(104) 상의 이용가능한 서비스 제공자를 식별한 후, 서비스 제공자 속성에 대한 사용자 입력 선호도와 최적으로 매칭되는 서비스 제공자를 선택하고, 그 후 그 선택된 서비스 제공자에게 작업 또는 잡을 전송하여 완료한다. 이 처리는 사용자가 초기에 사용자의 선호도를 입력한 이후에 어떤 액션을 취하도록 요청받지 않고, 서비스 제공자 선택 모듈(432)가 워크플로우 내의 각 단계를 자동적으로 처리한다는 점에서 완전히 자동적이다. 동작의 제4 모드(차단이 있는 자동)에서, 서비스 제공자 선택 엔진(610)은 단지 전술한 제3 모드와 유사하게 동작하지만, 어떤 시간이 경과된 후, 사용자는 서비스 사용자가 리스트상에 등장하는 것을 차단하도록 결정할 수 있다. 예를 들어, 다른 고려사항에 우선하도록 저렴하게 서비스를 판매하는 OCR 서비스 제공자는, 서비스를 이용하고 리턴된 결과에 만족하지 않는 고객 또는 불량한 서비스를 받은 고객에 의해 차단될 수도 있다. 동일한 방식으로, 고객은 불쾌한 경험 이후에 서비스 또는 제품의 판매자와 다시 근무하는 것을 거절하며, 이 시스템의 사용자는 불쾌한 경험을 가진 제공자를 제거하도록 자동 동작을 변경할 수 있다.
방법
이제 도 7 내지 도 11을 참조하여, 본 발명의 방법들을 더 상세히 설명한다.
이제 도 7, 도 8a 및 도 8b를 참조하여, 본 발명에 따라 그래픽 유저 인터페이스(GUI)를 표시하고 사용자 선호도를 수집하는 방법(700)의 일 실시형태에 대하여 설명한다. 도 7에 도시된 바와 같이, 이 방법은 사용자 선호도의 등재(entry) 개시를 위한 입력 신호를 수신한다(단계 702). 이에 대해, 사용자 선호도 콜렉터 및 GUI(602)는, 자동 처리의 레벨을 선택하기 위한 사용자 인터페이스(800)(도 8a 참조)를 표시(단계 704)하기 위하여, 컴퓨팅 패드(202)의 프리젠테이션 모듈(322)과 통신한다.
도 8a 및 도 8b는 본 발명에 따라서 서비스 제공자 속성 선택 및 자동 선택의 레벨에 대한 사용자 인터페이스(800, 850)의 실시형태의 그래픽 표현을 나타낸다. 도 8a 및 도 8b는 자동 선택의 레벨에 대한 사용자 인터페이스(800)가 서비스 제공자 속성 선택에 대한 사용자 인터페이스(850)로부터 분리되어 있음을 나타내는 반면에, 당업자는, 다른 실시형태들에서, 이러한 2개의 사용자 인터페이스(800, 850)가, 자동 선택의 레벨을 선택하는 것에 대한 옵션과 사용자에게 가장 중요하게 되는 서비스 제공자의 속성에 대한 옵션을 동시에 나타내는 단일의 사용자 인터페이스와 결합될 수 있다는 점을 인식할 수 있다.
이제 도 8a을 참조하여, 자동 제공자 선택의 레벨을 선택하기 위한 사용자 인터페이스(800)에 대하여 더 상세히 설명한다. 서비스 제공자 선택 엔진(610)에 대한 설명에서 전술된 바와 같이, 본 발명은 4가지 동작 모드를 제공한다. 이러한 동작 모드는 서비스 제공자의 자동 선택의 다른 레벨에 대응한다. 사용자는 서비스 제공자의 자동, 차단이 있는 자동, 반자동 또는 수동 선택으로부터 선택할 수 있다. 완전 자동 모드에서, 서비스 제공자 선택 엔진(610) 및 서비스 제공자 선택 모듈(432)은 어느 속성이 가장 중요한지에 대한 사용자의 선호도에 기초하여 작업 또는 잡을 수행하도록 서비스 제공자를 자동적으로 선택한다. 차단이 있는 자동 모드에서, 서비스 제공자 선택 엔진(610) 및 서비스 제공자 선택 모듈(432)은 어느 속성이 가장 중요한지에 대한 사용자의 선호도에 기초하여 작업 또는 잡을 수행하도록 서비스 제공자를 자동적으로 선택한다. 자동 선택이 수행되기 전에, 사용자에 의해 특정된 어떤 차단된 제공자들을 제거하기 위하여 제공자의 리스트를 필터링한다. 반자동 모드에서, 서비스 제공자 선택 엔진(610) 및 서비스 제공자 선택 모듈(432)은, 사용자 선호도에 기초하여 작업 또는 잡을 수행하도록 제한된 수의 서비스 제공자의 리스트를 작성한다. 그 후, 사용자는 사용자 선호도를 만족하는 필터링된 서비스 제공자의 제한된 리스트로부터 서비스 제공자를 선택한다. 수동 모드에서, 서비스 제공자 선택 엔진(610)은 서비스 제공자 이용도 검출기(606)와 협동하여, 작업 또는 잡을 수행하는데 현재 이용가능한 서비스 제공자를 결정한다. 이용가능한 서비스 제공자의 필터링되지 않은 리스트가 사용자에게 제공되면, 사용자는 작업 또는 잡을 수행하기 위한 서비스 제공자를 선택해야 한다. 도 8a에 도시된 바와 같이, 사용자 인터페이스(800)는 사용자가 이들의 동작 모드를 선택할 수 있는 윈도우를 표시한다. 사용자 인터페이스(800)는, 자동 선택의 다른 레벨에 대응하며 4가지 동작 모드 중 하나를 선택하기 위한 무선 버튼에 대응하는 일련의 라벨(802, 812, 804, 808)을 포함한다. 일 실시형태에서, 사용자 인터페이스(800)에 의해 사용자는 하나의 동작 모드 또는 그 대응 무선 버튼만을 선택할 수 있다. 또한, 사용자 인터페이스(800)는 반자동 동작 및 대응 라벨(806)에 대한 리스트에 서비스 제공자 선택 엔진(610)이 포함해야 하는 결과의 최대수를 입력하기 위한 입력 박스를 포함한다. 일단 사용자가 자동 선택 제공자 선택의 레벨을 선택하면, 사용자는, 제출 버튼(810)을 선택하여, 이들의 선택을 사용자 선호도 콜렉터 및 GUI(602)에 전송한다.
도 7을 다시 참조하면, 이 방법은 서비스 제공자 선택 모듈(432)이 수행해야 하는 자동 선택의 레벨에 대한 사용자 입력을 수신(단계 706)함으로써 지속된다. 전술한 바와 같이, 이러한 입력은 사용자가 제출 버튼(810)을 선택하는 것에 응답하여 사용자 선호도 콜렉터 및 GUI(602)에 제공된다. 이 방법은 사용자 선호도 스토리지(604)에 단계 706에서 수신된 입력을 저장(단계 708)함으로써 지속된다. 그 후, 이 방법은 속성 선택 및 랭킹에 대한 사용자 인터페이스(850)를 표시(단계 710)함으로서 지속된다.
속성 선택 및 랭킹에 대한 사용자 인터페이스(850)의 일 실시형태의 일례를 도 8b에 나타낸다. 이제 도 8b도 또한 참조하여, 제공자 속성을 선택하기 위한 사용자 인터페이스(850)에 대하여 더 상세히 설명한다. 사용자 인터페이스(850)는, (대응하는 행에 대한) 그 속성의 중요성을 나타내기 위하여 제공자 속성(들)을 열거하는 제1 열, 및 사용자에 대한 입력 메카니즘을 제공하는 제2 열을 가지는 복수의 열을 구비한 윈도우를 포함한다. 예를 들어, 도 8b에 도시된 바와 같이, 좌측열은 속성 A(852) 내지 속성 N(852)인 속성의 리스트를 포함한다. 일 실시형태에서, 제1 열의 행은 사용자에 의해 선택될 수 있고, 사용자에는 모든 제공자의 모든 속성을 열거하는 드롭-다운 메뉴가 제공된다. 이러한 방식으로, 사용자는 사용자에 있어서 관심 사항 또는 중요성을 가지는 속성의 사용자 고유의 리스트를 작성할 수도 있다. 속성 리스트는 하나의 속성으로부터 전체 속성에 이르기까지의 어떤 수의 속성을 포함한다. 또한, 또 다른 실시형태에서, 가장 중요한 속성은, 최대 중요성으로부터 최소 중요성까지의 순서로 열거된다. 또 다른 실시형태에서, 속성은 알파벳순으로 제1 열에 열거된다. 도 8b에 도시된 바와 같이, 제2 열 또는 좌측열은 대응하는 행에서 열거되는 속성의 중요성을 나타내기 위하여 사용자에 대한 입력 메카니즘을 포함한다. 이 일례에서, 각 속성은 대응하는 슬라이더바(584) 및 속성의 중요성의 레벨을 나타내는 위치 표시기(856, 858, 860, 866)를 포함하며, 여기서 좌측으로의 위치는 보다 작은 중요성을 나타내고, 우측으로의 위치는 보다 큰 또는 보다 높은 중요성을 나타낸다. 예컨대, 속성 A 및 속성 N(852)은 마크(856, 866)의 위치에 의해 표시되는 바와 같이 낮은 레벨의 중요성을 가지는 반면에, 속성 B(852)은 포지션 마크(858)에 의해 표시되는 바와 같이 가장 높은 레벨의 중요성을 가지며, 속성 C(852)는 포지션 마크(860)에 의해 표시되는 바와 같이 속성 B(852)의 중요성에 가까운 높은 레벨의 중요성을 가진다. 슬라이더 바 및 포지션 마크의 입력 메카니즘은, 단지 속성의 중요성을 나타내기 위한 하나의 방법이다. 또 다른 실시형태에서, 입력 메카니즘은 1 내지 5 등의 스케일에 대한 중요성을 나타내는 수를 입력한다. 당업자는 속성의 중요성을 나타내는데 이용될 수 있는 여러 가지 다른 실행이 존재하며, 전술한 내용을 소수의 일례로서 단지 경청한다라는 것을 인식할 것이다. 제1 열의 하부의 바닥 가장 가까이에, 사용자 인터페이스(850)는, 속성의 부가 및 삭제를 위한 버튼(862, 864)를 제공한다. 사용자는 제1 열로부터 속성(852)를 선택할 수 있고, 그 후 삭제 버튼(864)을 선택하여, 리스트로부터 속성을 제거한다. 이와 유사하게, 사용자는 행을 선택할 수 있고, 그 후 추가 버튼(862)을 선택하고, 메뉴 또는 윈도우에 이용가능한 속성의 리스트를 사용자에게 보여준다.
도 7을 다시 참조하면, 이 방법은 특정 속성 및 그 속성의 중요성에 대한 입력을 수신(단계 712)함으로써 지속된다. 그 후, 이 방법은, 사용자 선호도 스토리지(604)에 단계 712로부터의 수신된 입력(속성 및 그 중요성)을 저장(단계 714)한다. 다음으로, 이 방법은 타임아웃 조건이 발생하였는지 여부 또는 속성이 더 이상 변경되지 않는지 여부에 대하여 판정한다(단계 716). 어느 한쪽의 조건이 진실이면, 이 방법은 완료되어 종료된다. 그러나, 사용자가 속성을 추가 또는 제거하거나 또는 그 속성의 중요성을 변경하면, 이 방법은 사용자 인터페이스(850)를 갱신(단계 718)하고, 속성 선택을 위한 갱신된 사용자 인터페이스를 표시하기 위한 단계 710로 리턴함으로써 지속된다. 그 후, 이 방법은 단계 712, 714 및 716을 반복한다.
이제 도 9을 참조하여, 본 발명에 따라 서비스 제공자 속성을 수집 및 저장하기 위한 방법(900)의 일 실시형태에 대하여 설명한다. 이 방법은 서비스 제공자로부터의 정보를 요청하여 그 응답을 서비스 제공자 속성 스토리지(612)에 저장(단계 903)하는 서비스 제공자 속성 콜렉터(608)에 의해 개시한다. 다음으로, 서비스 제공자 속성 콜렉터(608)는 서비스 제공자에 대한 요청을 위하여 스트로크 및 이미지 워크플로우 서버(106)를 모니터한다(단계 904). 스트로크 및 이미지 워크플로우 서버(106)에 의해 생성되는 서비스 제공자에 대한 각 요청에 대하여, 서비스 제공자 속성 콜렉터(608)는 기록을 작성하고, 서비스 제공자 속성 스토리지(612)에 그 기록을 저장한다. 스트로크 및 이미지 워크플로우 서버(106)에 의한 요청의 전송은, 주위의 정보를 모으고, 요청이 어떻게 응답되어 완료되는지에 대한 통계의 기록을 완료함에 있어서 제1 단계가 된다. 다음으로, 이 방법은 스트로크 및 이미지 워크플로우 서버(106)로부터의 서비스 제공자에 대한 요청을 수락하는 서비스 제공자를 식별한다(단계 906). 이 실시형태에서, 서비스 제공자 속성 콜렉터(608)는 각 서비스 제공자에 대한 고유의 ID 번호를 제공한다. 고유의 서비스 제공자 ID 번호는 서비스 제공자 속성 스토리지(612)에 저장된다. 다음으로, 이 방법은 서비스 제공자에 대한 요청의 완료에 관한 통계를 포착한다(단계 908). 예를 들어, 요청이 수락되는 시간, 문서가 서비스 제공자에게 전달된 시간, 응답이 서비스 제공자에 의해 제공된 시간, 처리 전후의 문서의 크기, 응답 또는 결과의 크기 및 잡 또는 작업의 성능에 관련되는 다른 통계 등의 정보를 포착한다. 예를 들어, 이러한 정보를 포착하기 위한 방법은, 2009년 9월 8일자로 제출되며 명칭이“Paper-Like Forms Processing System & Method”인 미국 특허 출원 일련 번호 제12/555,663호; 2009년 9월 8일자로 제출되며 명칭이“Device Enabled Verifiable Stroke And Image Based Wokrflows”인 미국 특허 출원 일련 번호 제12/555,669호; 2009년 9월 8일자로 제출되며 명칭이“Stroke And Image Aggregation And Analytics”인 미국 특허 출원 일련 번호 제12/555,675호; 및 2009년 9월 8 자로 제출되며 명칭이“Multi-provider Forms Processing System with Quality of Service"인 미국 특허 출원 일련 번호 제12/555,683호에 개시되어 있으며, 이들은 그 전체가 참고로 포함된다. 다음으로, 이 방법은 서비스 제공자 속성 스토리지(612)에서 통계에 있어서 식별된 서비스 제공자를 저장(단계 910)함으로써 지속된다. 다음으로, 이 방법은, 스트로크 및 이미지 워크플로우 서버(106)에 의해 발송된 서비스 제공자에 대한 부가적인 요청이 존재하는지 여부를 판정한다(단계 912). 만일 부가적인 요청이 존재하면, 이 방법은 단계 904로 리턴하고, 다음 요청에 대하여 단계 906 내지 912를 반복한다. 만일 부가적인 요청이 존재하지 않으면, 이 방법은 단계 914로 진행하여 사용자로부터의 성능 피드백을 요청하고, 서비스 제공자 속성 스토리지(612)에 사용자 피드백을 저장한다. 단계 914 이후에, 이 방법은 완료되어 종료된다. 당업자는, 도 9를 참조하여 전술되는 처리가 3가지 종류의 데이터 즉, 서비스 제공자로부터의 데이터, 사용자로부터의 데이터 및 데이터를 수집하며, 상기 3가지 종류의 데이터는, 상기 이미지 워크플로우 서버(106), 휴대용 컴퓨팅 기기(102) 및 서비스 제공자 컴퓨터(122)의 동작으로부터 자동적으로 연결된다는 것을 인식할 수 있다. 이러한 다른 종류의 데이터의 수집은 어떤 순서로 수행될 수 있다는 것을 이해해야 한다. 예를 들어, 단계 902, 단계 904 내지 912, 및 단계 914는 전술한 순서와는 다른 순서로 통지될 수도 있다. 또한, 당업자는 시스템(100)의 다른 구성요소로부터 자동적으로 모여지는 통계를, 시스템의 다른 구성요소에 의해 서비스 제공자 속성 콜렉터(608)에 자동 보고하는 등의 다른 방식으로 수행할 수 있음을 인식할 수 있다.
이제 도 10 및 도 11을 참조하여, 서비스 제공자 선택 엔지(610) 및 서비스 제공자 선택 모듈(432)에 대한 2가지 동작 모드에 대하여 설명한다. 서비스 제공자 선택 엔진(610)은, 어떤 동작 모드가, 스트로크 및 이미지 워크플로우 서버(106)에 의해 할당되어 수행되는 워크플로우 작업을 갖는 특정 사용자에 대한 서비스 제공자의 선택에 이용되는지를 결정하도록 사용자 선호도 스토리지(604)에 액세스한다. 서비스 제공자 선택 엔진(610)은 사용자 선호도 스토리지(604)로부터 자동 선택의 레벨에 대한 사용자 선호도를 판독하고, 사용자의 세팅에 따라서 이 사용자에 대한 동작의 모드를 설정한다. 이는 서비스 제공자 선택 엔진(610)을 수동 모드, 반자동 모드 또는 자동 모드 중 어느 한쪽으로 동작하게 한다. 수동 모드에서의 서비스 제공자 선택 엔진(610)의 동작은, 위에서 설명되었으므로, 그 설명은 여기서 반복하지 않는다. 자동 모드에서의 서비스 제공자 선택 엔진(610)의 동작을 도 10을 참조하여 이하에서 설명하며, 반자동 모드에서의 서비스 제공자 선택 엔진(610)의 동작을 도 11을 참조하여 이하에서 설명한다.
이제 도 10을 참조하여, 본 발명에 따른 서비스 제공자의 자동 선택의 방법의 일 실시형태에 대하여 설명한다. 이 방법은, 서비스 제공자의 자동 선택에 대한 사용자 선호도, 사용자에 있어서 중요한 속성 및 각 속성의 중요성 랭킹을 수집 및 저장(단계 1002)함으로서 개시된다. 이 단계를 수행하기 위한 하나의 방법을 도 7을 참조하여 전술하였다. 다음으로, 이 방법은 서비스 제공자의 속성을 수집 및 저장(단계 1004)한다. 이 단계를 수행하는 하나의 방법을 도 9를 참조하여 전술하였다. 다음으로, 이 방법은 사용자 또는 요청자에 대하여 수행될 서비스 요청을 식별한다(단계 1006). 그 후, 서비스 제공자 이용도 검출기(606)는, 상기 네트워크(104)에 현재 접속되며, 서비스 요청을 수행하는데 이용가능한 서비스 제공자의 리스트를 결정(단계 1008) 및 생성한다. 다음으로, 서비스 제공자 선택 엔진(610)은, 사용자 선호도 스토리지(604)로부터 검색된 사용자 선호도와 서비스 제공자 속성 스토리지(612)로부터 검색된 서비스 제공자 속성을 비교함으로써 요청된 서비스를 수행하기 위한 최적의 서비스 제공자를 동적으로 결정한다. 서비스 제공자의 선택이 완전 자동인 방법에 있어서, 서비스 제공자 선택 엔진(610)은, 단지 이용가능한 서비스 제공자의 속성과 사용자의 속성 선호도 사이의 최적의 매치를 결정할 필요가 있다. 이 결정은 복수의 방식으로 행해질 수도 있다.
일 실시형태에서, 서비스 제공자 선택 엔진(610)은, 각 서비스 제공자에 대한 가중합을 계산하고, 가장 높은 가중합을 가지는 서비스 제공자를 선택함으로써, 요청된 서비스를 수행하기 위한 최적의 서비스 제공자를 결정한다. 일 실시형태에서, 서비스 제공자는, 요청 작업 또는 잡과 매칭되는 서비스를 제공하는 서비스 제공자들만이 계산된 가중합을 가지도록, 먼저 필터링된다. 예를 들어, 각각의 허용가능한 대안적인 서비스 제공자에 대하여, 선택의 속성 P 또는 측정된 파라미터의 세트에는, 상대적인 중요성을 나타내는 가중 인자(W)가 할당된다. 관찰된 값은 가중 인자에 의해 승산되며, 합(S)이 계산된다.
Figure pct00001
최대 합 S를 가지는 서비스 제공자는 최적의 서비스 제공자로서 선택된다.
또 다른 실시형태에서, 서비스 제공자 선택 엔진(610)은 최적의 서비스 제공자를 결정하여 퍼지 논리를 이용하여 요청된 서비스를 수행한다. 이 실시형태에서, 퍼지 논리(예컨대, 자데(Zadeh), L.A. (1965). "퍼지 세트", 정보 및 제어 8 (3): 338-353)는 대안물 사이의 선택에 이용된다. 각 파라미터 및 속성 P는 일부 퍼지 상태를 나타내는 값들의 범위에 할당된다. 예를 들어, 처리량으로 지칭되는 파라미터는 복수의 초 동안에 측정될 수 있고, 애플리케이션은 대체로 그 작업을 완료하기 전에 동작한다. 품질로 지칭되는 제2 파라미터는, 수행되는 천가지 작업마다 고객 거절의 수를 측정할 수도 있다. 추가적인 규칙은 이러한 퍼지 상태에 관하여 만족도를 특정할 수도 있다. 이러한 규칙은 FCL[국제 전자 기술 위원회(IEC)에 의해 작성된 퍼지 논리 표현을 나타내기 위한 언어]로 표현될 수도 있다. 예를 들어, 이하의 FCL 의사 코드는, 속도에 기초하여 서비스를 선택하기 위한 간단한 퍼지 논리 규칙의 세트를 특정할 수도 있으나, 불량한 품질 서비스은 거절한다.
Figure pct00002
Figure pct00003
Figure pct00004
이러한 제어 신택스가 주어지면, 어떤 복수의 퍼지 로직 시스템을, 하나의 실시형태에만 제공된 파라미터에 기초하여 개발할 수도 있다.
또 다른 실시형태에서, 서비스 제공자 선택 엔진(610)은 확률론적 모델링을 이용하여 요청되는 서비스를 수행하는 최적의 서비스 제공자를 결정한다. 이 실시형태에서, 전문가 시스템은 이용가능한 서비스 제공자들 중에서 선택하기 위하여 이용된다. 이 실시형태에서, 각 파라미터 또는 속성 P에 대한 범위는, 애플리케이션을 추천해야 하는 확률을 할당하는데 이용된다. 인터페이스의 베이지안 규칙은, 애플리케이션을 추천해야 하는 최종 확률에 이들 확률을 결합하는데 이용된다. 이러한 규칙을 개발하기 위한 몇몇 방법이 존재하며, 가장 흔한 것은,“포워드 연쇄”전문가 시스템 규칙 또는“백워드 연쇄”전문가 시스템 규칙이다. 이러한 규칙은,“속도가 <0.1이면 만족도는 높다”라는 문장과 같은 if-then 문장처럼 보인다. 당업자는, 또한 고전적 결정 이론, 뎀스터-쉐퍼(Demster-Shafer) 결정 이론, 및 확률 이론 등의 여러 가지의 다른 수학적 기술이, 여러 가지 복잡한 대안물 사이의 결정에 이용될 수 있는 대안적 알고리즘을 제공하며, 이 경우에 적용될 수 있음에 주목한다.
도 10을 다시 참조하면, 방법(1000)은 완료를 위해 동적으로 결정된 최적의 서비스 제공자에게 요청을 전송(단계 1012)함으로써 완료된다.
이제 도 11을 참조하여, 본 발명에 따른 서비스 제공자의 반자동 선택을 위한 방법(1100)의 일 실시형태에 대하여 설명한다. 이 방법은 사용자 선호도를 수집 및 저장하고(단계 1002), 서비스 제공자의 속성을 수집 및 저장하고(단계 1004), 서비스 요청을 식별하고(단계 1006), 서비스 제공자의 리스트를 결정(단계 1008)함으로써 개시된다. 단계(1002, 1004, 1006 및 1008)는 도면을 참조하여 전술한 단계들과 동일하며, 이에 대한 설명은 여기서 반복하지 않는다. 다음으로, 이 방법은 네트워크에 현재 접속되어 있고 서비스 요청을 수행하는데 이용가능한 서비스 제공자의 리스트를 동적으로 필터링한다(단계 1102). 예를 들어, 이 방법은 사용자의 선호도와 서비스 제공자 속성을 비교함으로써 입수가능한 서비스 제공자의 리스트를 동적으로 필터링한다. 일 실시형태에서, 이 동적 필터링 단계는, 최적의 서비스 제공자를 결정하기 위하여 도 10을 참조하여 전술한 것과 유사한 방식으로 수행된다. 즉, 서비스 제공자의 리스트는 가중합 알고리즘, 퍼지 논리 또는 확률적 모델링을 이용하여 동적을 필터링될 수 있다. 예를 들어, 가장 높은 가중합을 가진 서비스 제공자를 선택하기 보다는, 가중합 알고리즘을 이용하면, 단계 1102의 방법은, 가장 높은 가중합 값을 가진 서비스 제공자의 리스트를 생성한다. 이 실시형태는, 합(S)이 가장 큰 상부 k 항목의 리스트를 제공하며, 여기서 k는 사용자에 의해 요청되는 항목의 수이다. 예를 들어, 사용자가 3가지 최적의 매치를 생성 및 열거하기 위한 선호도로서 세트되면, 이 방법은 3개의 가장 높은 가중합 값을 가지는 서비스 제공자의 리스트를 생성한다. 이와 유사하게, 퍼지 논리 또는 모델링에서의 공개는 사용자의 속성 선호도를 최적으로 매치시키는 서비스 제공자의 리스트를 생성하는데 이용될 수 있다. 이러한 기술들 중 어느 하나는 또한 사용자의 선호도에 따라서 가변 길이의 리스트를 생성할 수 있다. 이 방법은 서비스 제공자의 짧은 리스트를 요청자에게 제공(단계 1104)함으로써 지속된다. 이는 프리젠테이션 모듈(322)에 의해 사용자에게 프리젠테이션을 위한 리스트를 제공하는 서비스 제공자 선택 엔진(610)에 의해 행해질 수 있다. 휴대용 컴퓨팅 장치(102)는, 서비스 제공자의 짧은 리스트로부터의 서비스 제공자에 따라서 사용자로부터 입력 선택을 수신한다. 휴대용 컴퓨팅 장치(102)는 서비스 제공자 선택 엔진(610)에 입력을 전송한다. 서비스 제공자 선택 엔진(610)은 서비스 제공자의 선택을 수신하고(단계 1106), 완료 및 방법 종료를 위하여 선택적인 서비스 제공자에게 서비스 요청을 전송한다(단계 1108).
본 발명의 실시형태의 전술한 설명을 예시 및 설명을 위하여 제공하였다. 포괄적이거나 또는 본 발명을 개시된 정확한 형태로 제한하도록 의도되지 않는다. 많은 변경 및 변형은 전술한 교시를 고려할 때 가능하게 된다. 본 발명의 범위는 이러한 상세한 설명에 의해서가 아니라 본 출원의 청구범위에 의해 제한된다. 당업자에 의해 이해될 수 있는 바와 같이, 본 발명은 발명의 사상 또는 본질적인 특징으로부터 벗어나지 않고 다른 특정 형태들로 구현될 수도 있다. 마찬가지로, 모듈, 루틴, 특징, 속성, 방법론 및 다른 양태의 특정 네이밍 및 분할은 의무적이거나 중요하지 않으며, 본 발명 또는 그 특징을 실행하는 메카니즘은 상이한 명칭, 분야(division) 또는 포맷을 가질 수도 있다. 또한, 당업자에게 명백한 바와 같이, 본 발명의 모듈, 루틴, 특징, 속성, 방법론 및 다른 양태는, 소프트웨어, 하드웨어, 펌웨어 또는 이들 3가지의 임의의 결합으로 실행될 수 있다. 또한, 본 발명의 구성 요소(이것의 일례는 모듈임)가 소프트웨어로서 실행되는 어디에나, 구성요소는, 컴퓨터 프로그래밍의 분야에서의 당업자에게, 독립형 프로그램으로서, 더 큰 프로그램의 일부로서, 복수의 별도의 프로그램으로서, 정적이거나 또는 동적으로 링크된 라이브러리로서, 커널 로드가능한 모듈로서, 장치 드라이버로서 및/또는 현재 또는 미래에 알려진 모든 및 어떤 다른 방식으로 실행될 수 있다. 부가적으로, 본 발명은 어떤 특정 프로그래밍 언어 또는 어떤 특정 동작 시스템 또는 환경으로의 실행으로 결코 제한되지 않는다. 따라서, 본 발명의 개시는 예시적인 것으로 의도되지만, 이하의 청구범위에서 설명되는, 본 발명의 범위를 제한하지 않는다.
본 출원은 2010년 9월 10일자로 출원된 미국 특허 출원 12/879,148호의 우선권에 기초하며, 그 우선권의 이익을 주장한다.
100: 시스템 102: 휴대용 컴퓨팅 기기
104: 네트워크 106: 스트로크 및 이미지 워크플로우 서버
108: 컴퓨터 110: 데이터 스토리지
112: 연결부 116: 신호선
118: 신호선 120: 신호선
122a-122n : 컴퓨터 124a-124n : 신호선
202 : 휴대용 컴퓨팅 기기 204: 스타일러스
206: 디스플레이 디바이스 208: 스트로크 캡처 디바이스 및 모듈
210: 입력 디바이스 212: 입력 디바이스
214: 입력 디바이스 216: 입력 디바이스
218: 입력 디바이스 220: 출력 디바이스
302: 프로세서 304: 메모리
306: 통신 유닛 308: 기기의 고유 ID 스토리지
310: 클록부 312: 메타데이터 모듈
314: 로깅 모듈 316: 문서 전송 모듈
318: 문서 작성 모듈 320: 버스
322: 프리젠테이션 모듈 324: 기타 애플리케이션
326: 기타 I/O 디바이스 328: 포지션 바 및 북마크 모듈
402: 프로세서 404: 메모리
406: 통신 유닛 408: 문서 전송 모듈
410: 클록부 412: 워크플로우 모듈
416: 로깅 모듈 418: 기타 애플리케이션
420 : 버스 422: 디스플레이 디바이스
424: 출력 디바이스
426: 기기의 고유 ID 스토리지 428: 입력 디바이스
432: 서비스 제공자 선택 모듈 502: 인박스
504: 문서 510 : 클록부
512: 백업 서버
602 : 사용자 선호도 콜렉터 및 GUI
604 : 사용자 선호도 스토로지 606 : 서비스 제공자 이용도 검출기
608 : 서비스 제공자 속성 콜렉터 610 : 서비스 제공자 선택 엔진
612 : 서비스 제공자 속성 스토리지 800 : 사용자 인터페이스
802, 804, 806, 808 : 라벨 810 : 버튼
812 : 라벨 850 : 사용자 인터페이스
852 : 속성 854 : 슬라이더 바
856, 858, 860 : 위치 표시기 862, 864 : 버튼
866 : 위치 표시기

Claims (15)

  1. 잡(job)의 수행을 위하여 복수의 서비스 제공자 컴퓨터로부터 서비스 제공자 컴퓨터를 선택하기 위한 컴퓨터 실행 방법으로서,
    사용자 선호도를 수신하는 단계와,
    상기 복수의 서비스 제공자 컴퓨터에 대한 속성을 수집하는 단계와,
    잡의 수행을 위한 서비스 요청 및 연관된 사용자를 식별하는 단계와,
    상기 사용자 선호도와 그 수집된 속성을 비교함으로써 서비스 제공자 선택 모듈을 이용하여 상기 잡을 수행하기 위한 적어도 하나의 서비스 제공자를 결정하는 단계와,
    상기 잡의 수행을 위하여 그 결정된 적어도 하나의 서비스 제공자에게 상기 잡을 전송하는 단계를 포함하는 컴퓨터 실행 방법.
  2. 제1항에 있어서, 네트워크에 현재 접속되며, 상기 서비스 요청을 수행하는데 이용가능한 복수의 서비스 제공자 컴퓨터로부터 서비스 제공자 컴퓨터의 리스트를 결정하는 단계를 더 포함하며,
    서비스 제공자 선택 모듈을 이용하여 상기 잡을 수행하기 위한 적어도 하나의 서비스 제공자를 결정하는 단계는, 서비스 제공자 컴퓨터의 리스트를 이용하는 것인 컴퓨터 실행 방법.
  3. 제1항에 있어서, 상기 결정하는 단계는, 자동적이며, 상기 잡을 수행하기 위한 서비스 제공자 컴퓨터를 결정하며, 그 결정된 서비스 제공자 컴퓨터는 사용자 선호도에 가까운 속성을 가지며, 상기 전송하는 단계는, 상기 결정된 서비스 제공자 컴퓨터에 상기 잡을 전송하는 것인 컴퓨터 실행 방법.
  4. 제1항에 있어서, 상기 결정하는 단계는, 반자동적이며, 상기 잡을 수행하기 위한 규정된 수의 서비스 제공자 컴퓨터를 가지는 리스트를 생성하며, 상기 서비스 제공자 컴퓨터의 리스트는, 사용자 선호도에 가까운 속성을 가지며, 상기 방법은, 상기 리스트로부터의 서비스 제공자 컴퓨터의 선택을 사용자로부터 수신하는 단계와, 그 선택된 서비스 제공자 컴퓨터에 상기 잡을 전송하는 단계를 포함하는 것인 컴퓨터 실행 방법.
  5. 제1항에 있어서, 상기 적어도 하나의 서비스 제공자는, 각 서비스 제공자 컴퓨터에 대한 가중합을 계산함으로써 결정되는 것인 컴퓨터 실행 방법.
  6. 컴퓨터 판독가능한 프로그램을 포함한 컴퓨터 이용가능한 매체를 구비하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능한 프로그램은, 컴퓨터 상에서 실행될 때, 컴퓨터로 하여금,
    사용자 선호도를 수신하는 단계와,
    복수의 서비스 제공자 컴퓨터에 대한 속성을 수집하는 단계와,
    잡의 수행을 위한 서비스 요청 및 연관된 사용자를 식별하는 단계와,
    상기 사용자 선호도와 그 수집된 속성을 비교함으로써, 서비스 제공자 선택 모듈을 이용하여 잡을 수행하기 위한 적어도 하나의 서비스 제공자를 결정하는 단계와,
    상기 잡의 수행을 위하여 그 결정된 적어도 하나의 서비스 제공자에게 상기 잡을 전송하는 단계를 수행하게 하는 것인 컴퓨터 프로그램 제품.
  7. 제6항에 있어서, 상기 컴퓨터 판독가능한 프로그램은, 컴퓨터 상에서 실행될 때, 또한 컴퓨터로 하여금,
    네트워크에 현재 접속되며, 상기 서비스 요청을 수행하는데 이용가능한 복수의 서비스 제공자 컴퓨터로부터 서비스 제공자 컴퓨터의 리스트를 결정하는 단계를 수행하게 하며,
    상기 컴퓨터는, 상기 서비스 제공자 컴퓨터의 리스트를 이용하여 잡을 수행하기 위한 적어도 하나의 서비스 제공자를 결정하는 것인 컴퓨터 프로그램 제품.
  8. 제6항에 있어서, 상기 결정하는 단계는, 자동적이며, 상기 잡을 수행하기 위한 서비스 제공자 컴퓨터를 결정하며, 그 결정된 서비스 제공자 컴퓨터는 사용자 선호도에 가까운 속성을 가지며, 상기 전송하는 단계는 상기 결정된 서비스 제공자 컴퓨터에 상기 잡을 전송하는 것인 컴퓨터 프로그램 제품.
  9. 제6항에 있어서, 상기 결정하는 단계는, 반자동적이며, 상기 잡을 수행하기 위한 규정된 수의 서비스 제공자 컴퓨터를 가지는 리스트를 생성하며, 상기 서비스 제공자 컴퓨터의 리스트는 사용자 선호도에 가까운 속성을 가지며,
    상기 컴퓨터는, 상기 리스트로부터의 서비스 제공자 컴퓨터의 선택을 사용자로부터 수신하며, 상기 컴퓨터는 그 선택된 서비스 제공자 컴퓨터에 상기 잡을 전송하는 것인 컴퓨터 프로그램 제품.
  10. 제6항에 있어서, 상기 컴퓨터는, 각 서비스 제공자 컴퓨터에 대한 가중합을 계산함으로써 상기 잡을 수행하기 위한 적어도 하나의 서비스 제공자를 결정하는 것인 컴퓨터 프로그램 제품.
  11. 잡의 수행을 위하여 복수의 서비스 제공자 컴퓨터로부터 서비스 제공자 컴퓨터를 선택하기 위한 시스템으로서,
    상기 서비스 제공자 컴퓨터의 자동 선택에 대하여 사용자의 선호도에 대한 정보를 수신하는 사용자 선호도 콜렉터로서, 사용자로부터 정보를 수신하도록 결합되는 사용자 선호도 콜렉터와,
    잡을 완료하는데 있어서 상기 복수의 서비스 제공자 컴퓨터의 성능을 모니터링하기 위한 서비스 제공자 속성 콜렉터로서, 상기 복수의 서비스 제공자 컴퓨터에 결합되는 서비스 제공자 속성 콜렉터와,
    워크플로우의 잡을 수행하기 위한 서비스 제공자를 선택하기 위한 서비스 제공자 선택 엔진으로서, 상기 사용자의 선호도와 서비스 제공자 속성을 비교하여, 속성이 상기 사용자의 선호도에 가까운 적어도 하나의 서비스 제공자 컴퓨터를 결정하며, 상기 서비스 제공자 속성 콜렉터 및 상기 사용자 선호도 콜렉터와 통신하기 위하여 결합되는 서비스 제공자 선택 엔진
    을 구비하는 서비스 제공자 컴퓨터 선택 시스템.
  12. 제11항에 있어서, 워크플로우의 잡을 수행하기 위하여 어떤 서비스 제공자 컴퓨터가 액세스가능하며 이용가능한지를 결정하기 위하여 네트워크를 모니터링하기 위한 서비스 제공자 이용도 검출기를 더 구비하며,
    상기 서비스 제공자 이용도 검출기는, 상기 복수의 서비스 제공자 컴퓨터 및 상기 서비스 제공자 선택 엔진에 결합되며,
    상기 서비스 제공자 선택 엔진은 상기 사용자의 선호도에 가까운 속성을 가지는 적어도 하나의 서비스 제공자 컴퓨터를 결정하도록 상기 서비스 제공자 이용도 검출기로부터의 입력을 이용하는 것인 서비스 제공자 컴퓨터 선택 시스템.
  13. 제11항에 있어서, 상기 사용자 선호도 콜렉터는, 휴대용 컴퓨팅 시스템의 프리젠테이션 모듈과 협동하여, 사용자로 하여금, 상기 서비스 제공자 선택 엔진의 자동, 반자동 또는 수동 조작에 대한 선호도를 입력하게 하는 그래픽 유저 인터페이스를 생성하는 것인 서비스 제공자 컴퓨터 선택 시스템.
  14. 제11항에 있어서, 상기 사용자 선호도 콜렉터는, 휴대용 컴퓨팅 시스템의 프리젠테이션 모듈과 협동하여, 사용자로 하여금, 속성 및 상기 속성에 대한 중요도의 대응 레벨을 입력하게 하는 그래픽 유저 인터페이스를 생성하는 것인 서비스 제공자 컴퓨터 선택 시스템.
  15. 제11항에 있어서, 상기 사용자의 선호도 및 다른 정보를 저장하기 위한 사용자 선호도 스토리지로서, 정보를 수신 및 저장하기 위하여 상기 사용자 선호도 콜렉터에 결합되며, 상기 서비스 제공자 선택 엔진에 정보를 제공하도록 결합되는 사용자 선호도 스토리지와,
    잡의 수행 및 완료에 대하여 상기 복수의 서비스 제공자 컴퓨터에 대한 속성을 저장하기 위한 서비스 제공자 속성 스토리지로서, 서비스 제공자 속성 정보를 수신 및 저장하도록 상기 서비스 제공자 속성 콜렉터에 결합되며, 상기 서비스 제공자 속성 정보를 상기 서비스 제공자 선택 엔진에 제공하도록 결합되는 서비스 제공자 속성 스토리지를 더 구비하며,
    상기 서비스 제공자 선택 엔진은 사용자의 선호도 및 다른 정보를 검색하도록 상기 사용자 선호도 스토리지에 결합되며, 속성 및 사용자에 대한 속성의 중요도에 대한 정보를 검색하도록 상기 서비스 제공자 속성 스토리지에 결합되는 것인 서비스 제공자 컴퓨터 선택 시스템.
KR1020137005942A 2010-09-10 2011-09-06 서비스 또는 처리 제공자의 자동 및 반자동 선택 방법 KR20130073940A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/879,148 2010-09-10
US12/879,148 US9043219B2 (en) 2010-09-10 2010-09-10 Automatic and semi-automatic selection of service or processing providers
PCT/JP2011/070675 WO2012033215A1 (en) 2010-09-10 2011-09-06 Automatic and semi-automatic selection of service or processing providers

Publications (1)

Publication Number Publication Date
KR20130073940A true KR20130073940A (ko) 2013-07-03

Family

ID=45807582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137005942A KR20130073940A (ko) 2010-09-10 2011-09-06 서비스 또는 처리 제공자의 자동 및 반자동 선택 방법

Country Status (8)

Country Link
US (1) US9043219B2 (ko)
EP (1) EP2614440A4 (ko)
JP (1) JP2013543604A (ko)
KR (1) KR20130073940A (ko)
CN (1) CN103080915B (ko)
AU (1) AU2011299801A1 (ko)
SG (1) SG188290A1 (ko)
WO (1) WO2012033215A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020243013A1 (en) * 2019-05-24 2020-12-03 Digital Lion, LLC Predictive modeling and analytics for processing and distributing data traffic
US11934971B2 (en) 2019-05-24 2024-03-19 Digital Lion, LLC Systems and methods for automatically building a machine learning model

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8488575B2 (en) * 2010-11-18 2013-07-16 At&T Intellectual Property, I, L.P. Methods, devices, and computer program products for providing a plurality of application services via a customized private network connection
US8813205B2 (en) * 2012-02-06 2014-08-19 International Business Machines Corporation Consolidating disparate cloud service data and behavior based on trust relationships between cloud services
US10002206B2 (en) * 2012-10-26 2018-06-19 Saturn Licensing Llc Information processing device and information processing method
US20140136259A1 (en) 2012-11-15 2014-05-15 Grant Stephen Kinsey Methods and systems for the sale of consumer services
US9818127B2 (en) * 2013-03-15 2017-11-14 International Business Machines Corporation Implementing comparison of cloud service provider package offerings
US20140278807A1 (en) * 2013-03-15 2014-09-18 Cloudamize, Inc. Cloud service optimization for cost, performance and configuration
US9813318B2 (en) * 2013-03-15 2017-11-07 International Business Machines Corporation Assessment of best fit cloud deployment infrastructures
US20140316926A1 (en) * 2013-04-20 2014-10-23 Concurix Corporation Automated Market Maker in Monitoring Services Marketplace
US20130282545A1 (en) * 2013-04-20 2013-10-24 Concurix Corporation Marketplace for Monitoring Services
CN103279571A (zh) * 2013-06-20 2013-09-04 海南大学 一种基于价值的电子服务合同选择方法
CN103677913B (zh) * 2013-12-06 2017-07-25 华为技术有限公司 基于业务流程管理bpm的业务处理方法及装置
US10296391B2 (en) * 2014-06-30 2019-05-21 Microsoft Technology Licensing, Llc Assigning a player to a machine
CN106920016B (zh) * 2015-12-24 2022-12-02 罗伯特·博世有限公司 服务调度系统及其方法
US10810551B2 (en) 2016-03-10 2020-10-20 Mitsubishi Electric Corporation Project management support system, project management support method, and non-transitory computer readable medium storing a project management support program
CN107547443A (zh) * 2016-06-24 2018-01-05 北京佰才邦技术有限公司 一种服务提供商标识类型指示方法、装置和相关设备
JP2018055479A (ja) * 2016-09-29 2018-04-05 富士通株式会社 サービス条件処理プログラム、装置、及び方法
FR3065554A1 (fr) * 2017-04-21 2018-10-26 Orange Procede de gestion d'un systeme informatique en nuage
CN107688987A (zh) * 2017-08-31 2018-02-13 平安科技(深圳)有限公司 电子装置、保险推荐方法、及计算机可读存储介质
US10991034B2 (en) * 2017-09-26 2021-04-27 Matthew Abney Stylist locator
US20190236159A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Knowledge power detector
CN108776548A (zh) * 2018-06-15 2018-11-09 广州华欣电子科技有限公司 基于红外触控屏的书写笔迹生成方法、系统及相关组件
US11704617B2 (en) * 2019-06-20 2023-07-18 Stripe, Inc. Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
CN110399552A (zh) * 2019-06-25 2019-11-01 天津五八到家科技有限公司 信息推荐方法、装置、设备和存储介质
CN111859105A (zh) * 2020-04-10 2020-10-30 北京嘀嘀无限科技发展有限公司 服务请求处理方法、装置、电子设备及存储介质
WO2021222461A1 (en) * 2020-04-28 2021-11-04 Rex Peter L Electronic reputation management
US20220108206A1 (en) * 2020-10-02 2022-04-07 Sap Se Document initiated intelligent workflow
US20220327636A1 (en) * 2021-04-07 2022-10-13 Gwendolyn Rhoss Purchase Receipt Data System

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335214A (ja) 1995-06-07 1996-12-17 Toshiba Corp ソート方法,文書検索方法及び情報処理装置
JPH09325879A (ja) 1996-06-04 1997-12-16 Omron Corp 画面スクロール操作支援方法及び装置
JP4120724B2 (ja) 1998-08-18 2008-07-16 セイコーエプソン株式会社 画像データ管理装置、画像データ管理方法および画像データ管理プログラムを記録した媒体
JP2000287164A (ja) 1999-03-31 2000-10-13 Ricoh Co Ltd 工事アルバム作成支援システム、およびそのためのデータとプログラムを記録したコンピュータ読み取り可能な記録媒体
US7139728B2 (en) * 1999-12-30 2006-11-21 Rod Rigole Systems and methods for online selection of service providers and management of service accounts
US7002700B1 (en) 2000-09-14 2006-02-21 Electronics For Imaging, Inc. Method and system for merging scan files into a color workflow
AU2003200220B1 (en) * 2002-05-23 2003-05-01 River Dynamics Pty Ltd System and method for selecting a service provider
US6847872B2 (en) 2002-11-07 2005-01-25 International Business Machines Corporation Supplemental diagnostic and services resource planning for mobile systems
JP4161806B2 (ja) 2003-06-02 2008-10-08 富士ゼロックス株式会社 管理装置、管理方法およびネットワークシステム
US20050007468A1 (en) 2003-07-10 2005-01-13 Stavely Donald J. Templates for guiding user in use of digital camera
JP4790622B2 (ja) 2003-11-26 2011-10-12 イー インク コーポレイション 低残留電圧の電気光学ディスプレイ
US20090132345A1 (en) * 2004-02-13 2009-05-21 Bahram Meyssami Method and system for determining relevant matches based on attributes
US7365787B2 (en) 2004-02-26 2008-04-29 Research In Motion Limited Mobile device with integrated camera operations
JP2005242604A (ja) 2004-02-26 2005-09-08 Seiko Epson Corp 画像配列の決定
US8289250B2 (en) 2004-03-31 2012-10-16 E Ink Corporation Methods for driving electro-optic displays
US20050219263A1 (en) 2004-04-01 2005-10-06 Thompson Robert L System and method for associating documents with multi-media data
US7639387B2 (en) 2005-08-23 2009-12-29 Ricoh Co., Ltd. Authoring tools using a mixed media environment
US9830066B2 (en) 2004-12-22 2017-11-28 Conversant Wireless Licensing S.A R.L. Mobile communications terminal and method
US20060253478A1 (en) 2005-03-16 2006-11-09 Graham Michael L Client centric document preparation interface
US8126914B2 (en) 2005-03-23 2012-02-28 International Business Machines Corporation Selecting a resource manager to satisfy a service request
JP4779445B2 (ja) 2005-05-26 2011-09-28 株式会社ニコン 編集装置、編集プログラムおよび編集システム
US8175966B2 (en) * 2005-06-20 2012-05-08 Simplexity, Llc System and method for identifying an alternative provider of telecommunications services
US7849053B2 (en) * 2005-12-29 2010-12-07 Ricoh Co. Ltd. Coordination and tracking of workflows
US20090012887A1 (en) * 2006-03-01 2009-01-08 T.K.T Technologies Ltd. Method And System For Provision Of Personalized Service
US20070226374A1 (en) * 2006-03-23 2007-09-27 Quarterman Scott L System and method for identifying favorite service providers
WO2007131069A2 (en) * 2006-05-02 2007-11-15 Inividi Technologies Corporation Fuzzy logic based viewer identification
JP2007328489A (ja) 2006-06-07 2007-12-20 Fuji Xerox Co Ltd 文書管理装置及びプログラム
US20080040162A1 (en) 2006-08-08 2008-02-14 Siemens Medical Solutions Usa, Inc. System for Processing and Testing of Electronic Forms and Associated Templates
US20080052396A1 (en) 2006-08-22 2008-02-28 Motorola, Inc. Providing a service from an application service provider to a client in a communication system
JP4795193B2 (ja) 2006-10-13 2011-10-19 キヤノン株式会社 画像表示装置及びその制御方法及びプログラム
US20080247004A1 (en) * 2007-04-03 2008-10-09 Michael Yeung System and method for workflow control of scanned document input
JP5194581B2 (ja) 2007-06-20 2013-05-08 富士ゼロックス株式会社 文書処理装置および文書処理プログラム
JP4121544B2 (ja) 2007-06-25 2008-07-23 富士フイルム株式会社 画像表示装置及び画像表示方法
JP2009075879A (ja) 2007-09-20 2009-04-09 Ricoh Co Ltd 画像処理装置と画像処理方法とプログラム
US20090086945A1 (en) * 2007-09-27 2009-04-02 Buchanan Annette L Methods and Apparatus for Selecting a Service Provider on a Per-Call Basis
US20090094275A1 (en) 2007-10-09 2009-04-09 Lawson Software, Inc. Auditable action request processing in a workflow environment
JP4702705B2 (ja) 2008-03-10 2011-06-15 富士ゼロックス株式会社 情報表示処理システム、クライアント端末、管理サーバ、プログラム
US8868791B2 (en) * 2008-09-29 2014-10-21 Toshiba America Research, Inc. System and method for evaluating multiple connectivity options
TW201027373A (en) 2009-01-09 2010-07-16 Chung Hsin Elec & Mach Mfg Digital lifetime record and display system
US8504624B2 (en) * 2009-09-08 2013-08-06 Ricoh Co., Ltd. Stroke and image aggregation and analytics
US8560854B2 (en) 2009-09-08 2013-10-15 Ricoh Co., Ltd. Device enabled verifiable stroke and image based workflows
US8346624B2 (en) * 2009-12-09 2013-01-01 Allconnect, Inc. Systems and methods for recommending third party products and services
US20110145094A1 (en) * 2009-12-11 2011-06-16 International Business Machines Corporation Cloud servicing brokering
US8443280B2 (en) * 2009-12-15 2013-05-14 Bluebeam Software, Inc. Method for sequenced document annotations
US20110231745A1 (en) 2010-03-15 2011-09-22 TripAdvisor LLC. Slideshow creator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020243013A1 (en) * 2019-05-24 2020-12-03 Digital Lion, LLC Predictive modeling and analytics for processing and distributing data traffic
US11507869B2 (en) 2019-05-24 2022-11-22 Digital Lion, LLC Predictive modeling and analytics for processing and distributing data traffic
US11934971B2 (en) 2019-05-24 2024-03-19 Digital Lion, LLC Systems and methods for automatically building a machine learning model

Also Published As

Publication number Publication date
US20120066018A1 (en) 2012-03-15
EP2614440A4 (en) 2015-01-28
CN103080915B (zh) 2015-11-25
JP2013543604A (ja) 2013-12-05
WO2012033215A1 (en) 2012-03-15
CN103080915A (zh) 2013-05-01
EP2614440A1 (en) 2013-07-17
US9043219B2 (en) 2015-05-26
AU2011299801A1 (en) 2013-03-14
SG188290A1 (en) 2013-04-30

Similar Documents

Publication Publication Date Title
KR20130073940A (ko) 서비스 또는 처리 제공자의 자동 및 반자동 선택 방법
KR101449233B1 (ko) 포지션 바 및 북마크 기능
US8504624B2 (en) Stroke and image aggregation and analytics
KR101443485B1 (ko) 문맥에 기초하여 문서에 캡처된 이미지를 자동 첨부하는 방법 및 장치
US8560854B2 (en) Device enabled verifiable stroke and image based workflows
US7216266B2 (en) Change request form annotation
US8260805B1 (en) Method and system for creation of automatic customer lists and virtual related file listings
US20070250531A1 (en) System and Method of Web Browser-Based Document and Content Management
US20090144283A1 (en) Systems and methods for generating file usage information
KR20130029786A (ko) 단일 입력의 워크플로우 라우팅을 위한 인박스 모드와 문서 모드를 갖는 사용자 인터페이스
US20110283230A1 (en) In-situ mobile application suggestions and multi-application updates through context specific analytics
JP5893825B2 (ja) ワークフローのための方法及びシステム
US20110060981A1 (en) Paper-like forms processing system &amp; method
US20150363803A1 (en) Business introduction interface
JP2004534982A (ja) オフラインデータ収集方法
JP2002175290A (ja) ドキュメントデザイン評価システム、ドキュメントデザイン評価方法、記録媒体
JP6627287B2 (ja) 通知プログラム及び情報処理装置
JP5082974B2 (ja) 画像生成装置及びプログラム
US20230307100A1 (en) Information processing apparatus, information processing system, and information processing method
US20240031312A1 (en) System and method for establishing channelized communications and resource management
JP2005216129A (ja) コンピュータシステム、ファイル管理方法及びファイル管理プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application