KR102180450B1 - 작업에 대한 남은 시간 추정 - Google Patents
작업에 대한 남은 시간 추정 Download PDFInfo
- Publication number
- KR102180450B1 KR102180450B1 KR1020157026037A KR20157026037A KR102180450B1 KR 102180450 B1 KR102180450 B1 KR 102180450B1 KR 1020157026037 A KR1020157026037 A KR 1020157026037A KR 20157026037 A KR20157026037 A KR 20157026037A KR 102180450 B1 KR102180450 B1 KR 102180450B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- speed
- time
- job
- remaining
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Computer Hardware Design (AREA)
- Measurement Of Predetermined Time Intervals (AREA)
- Debugging And Monitoring (AREA)
- Digital Computer Display Output (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
Abstract
작업에 대한 남은 시간을 추정하기 위한 기술이 설명된다. 예시적인 작업들은, 파일 이동 작업, 파일 복사 작업 등과 같은, 파일 작업들을 포함한다. 매우 다양한 상이한 작업들이 특허청구되는 실시예들에 따라 고려될 수 있고, 이들의 추가의 예들이 아래에 논의된다. 적어도 일부 실시예들에서, 작업에 대한 남은 시간을 추정하는 것은, 작업의 상태에 기초할 수 있다. 작업의 상태는, 예를 들어, 작업 개시, 일시 정지, 재개 등과 같은, 작업 그 자체에 관련된 이벤트들에 기초할 수 있다. 작업의 상태는 또한 다른 작업들에 관련된 이벤트들에 기초할 수 있다.
Description
다양한 작업들의 경우, 작업을 완료하는데 걸리는 시간 및/또는 작업 완료에 남은 시간을 아는 것은 매우 유용할 수 있다. 예를 들어, 컴퓨팅 디바이스 상의 데이터 작업(예컨대, 데이터 이동, 데이터 삭제, 데이터 복사 등)은 디바이스 자원을 이용할 수 있다. 따라서, 데이터 작업이 완료될 때의 정확한 추정치를 제공하는 것은, 연관된 디바이스 자원이 다른 작업들 또는 태스크를 위해 자유롭게 될 때를 사용자가 평가하는데 도움이 될 수 있다.
EP 0 515 136 A2호는 하나 이상의 다른 태스크들의 시작 또는 종료에 잠재적으로 영향을 받는 멀티태스킹 워크스테이션 상에서 실행되는 태스크를 완료하는데 걸리는 시간을 추정하기 위한 방법 및 시스템을 개시한다. 구체적으로, 컴퓨팅 디바이스에 의한 실행에 응답하여, 컴퓨팅 디바이스로 하여금 동작들을 수행하도록 하는 저장된 명령어들을 그 안에 포함하는 컴퓨터 판독 가능 저장 매체를 개시하고, 상기 동작들은, 작업의 상태를 확인하는 단계, 작업의 상기 상태 및 작업에 대한 완료된 일 단위의 수에 기초하여 작업에 대한 남은 시간을 추정하는 단계, 및 작업에 대한 추정된 남은 시간에 기초하여 작업에 대한 시간 추정치 표시기를 업데이트하는 단계를 포함한다.
US 2010/0058120 A1호는 동적 직렬 시퀀스 인터페이스에 관한 것이다. 사용자 인터페이스는 서로 순차적인 관계로 다수의 단계들을 디스플레이하고, 다양한 단계들을 함께 그룹화할 수 있으며, 각각의 단계에 대한 완료 표시기는 물론 전체 완료 표시기를 제공할 수 있다. 특정 단계 또는 단계들의 그룹에 대한 오류 조건, 상태 정보, 쿼리, 및 세부 사항들이 사용자 인터페이스의 태스크 세부 사항 부분에 단계와 함께 직렬로 디스플레이될 수 있다. 태스크 세부 사항 부분은 사용자에 의해 접혀질 수 있고 확장될 수 있다. 진행 상황 및 완료 표시기는 각각의 단계, 단계들의 그룹, 및 전체 시퀀스에 대해 업데이트될 수 있다. 통상적인 사용에 있어서, 소프트웨어 설치 시퀀스는 다수의 소프트웨어 컴포넌트들로부터의 설치 단계들을 포함할 수 있다. 사용자 인터페이스는 태스크가 수행됨에 따라 개별 태스크, 태스크 그룹, 및 전체 시퀀스의 상태를 나타낼 수 있고, 단계와 함께 직렬로 쿼리 및 다른 정보를 디스플레이함으로써 오류가 해결될 수 있다.
EP 0 515 136 A2호는 하나 이상의 다른 태스크들의 시작 또는 종료에 잠재적으로 영향을 받는 멀티태스킹 워크스테이션 상에서 실행되는 태스크를 완료하는데 걸리는 시간을 추정하기 위한 방법 및 시스템을 개시한다. 구체적으로, 컴퓨팅 디바이스에 의한 실행에 응답하여, 컴퓨팅 디바이스로 하여금 동작들을 수행하도록 하는 저장된 명령어들을 그 안에 포함하는 컴퓨터 판독 가능 저장 매체를 개시하고, 상기 동작들은, 작업의 상태를 확인하는 단계, 작업의 상기 상태 및 작업에 대한 완료된 일 단위의 수에 기초하여 작업에 대한 남은 시간을 추정하는 단계, 및 작업에 대한 추정된 남은 시간에 기초하여 작업에 대한 시간 추정치 표시기를 업데이트하는 단계를 포함한다.
US 2010/0058120 A1호는 동적 직렬 시퀀스 인터페이스에 관한 것이다. 사용자 인터페이스는 서로 순차적인 관계로 다수의 단계들을 디스플레이하고, 다양한 단계들을 함께 그룹화할 수 있으며, 각각의 단계에 대한 완료 표시기는 물론 전체 완료 표시기를 제공할 수 있다. 특정 단계 또는 단계들의 그룹에 대한 오류 조건, 상태 정보, 쿼리, 및 세부 사항들이 사용자 인터페이스의 태스크 세부 사항 부분에 단계와 함께 직렬로 디스플레이될 수 있다. 태스크 세부 사항 부분은 사용자에 의해 접혀질 수 있고 확장될 수 있다. 진행 상황 및 완료 표시기는 각각의 단계, 단계들의 그룹, 및 전체 시퀀스에 대해 업데이트될 수 있다. 통상적인 사용에 있어서, 소프트웨어 설치 시퀀스는 다수의 소프트웨어 컴포넌트들로부터의 설치 단계들을 포함할 수 있다. 사용자 인터페이스는 태스크가 수행됨에 따라 개별 태스크, 태스크 그룹, 및 전체 시퀀스의 상태를 나타낼 수 있고, 단계와 함께 직렬로 쿼리 및 다른 정보를 디스플레이함으로써 오류가 해결될 수 있다.
삭제
작업에 대한 남은 시간을 추정하기 위한 기술이 설명된다. 예시적인 작업들은, 파일 이동 작업, 파일 복사 작업 등과 같은, 파일 작업들을 포함한다. 매우 다양한 상이한 작업들이 특허청구되는 실시예들에 따라 고려될 수 있고, 이들의 추가의 예들이 아래에 논의된다. 적어도 일부 실시예들에서, 작업에 대한 남은 시간을 추정하는 것은, 작업의 상태에 기초할 수 있다. 작업의 상태는, 예를 들어, 작업 개시, 일시 정지, 재개 등과 같은, 작업 그 자체에 관련된 이벤트들에 기초할 수 있다. 작업의 상태는 또한 다른 작업들에 관련된 이벤트들에 기초할 수 있다.
상세한 설명은 첨부 도면들을 참조하여 기술된다. 도면들에서, 참조 번호의 제일 왼쪽의 숫자(들)은 참조 번호가 처음 나타나는 도면을 식별한다. 설명 및 도면들의 상이한 경우에서 동일한 참조 번호의 이용은 유사하거나 동일한 항목을 나타낼 수 있다.
도 1은 본 명세서에 논의된 기술들을 이용하도록 동작 가능한 예시적인 구현예의 환경의 예시이다.
도 2는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 3은 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 4는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 5는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 6은 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 7은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 8은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 9는 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 10은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 11은 도 1을 참조하여 기술된 바와 같은 예시적인 시스템 및 컴퓨팅 디바이스를 나타내고, 이는 본 명세서에 기술된 기술들의 실시예들을 구현하도록 구성된다.
도 1은 본 명세서에 논의된 기술들을 이용하도록 동작 가능한 예시적인 구현예의 환경의 예시이다.
도 2는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 3은 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 4는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 5는 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 6은 하나 이상의 실시예들에 따라 예시적인 구현 시나리오를 나타낸다.
도 7은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 8은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 9는 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 10은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다.
도 11은 도 1을 참조하여 기술된 바와 같은 예시적인 시스템 및 컴퓨팅 디바이스를 나타내고, 이는 본 명세서에 기술된 기술들의 실시예들을 구현하도록 구성된다.
개요
작업에 대한 남은 시간을 추정하기 위한 기술이 설명된다. 예시적인 작업들은, 파일 이동 작업, 파일 복사 작업 등과 같은, 파일 작업들을 포함한다. 매우 다양한 상이한 작업들이 특허청구되는 실시예들에 따라 고려될 수 있고, 이들의 추가의 예들이 아래에 논의된다. 적어도 일부 실시예들에서, 작업에 대한 남은 시간을 추정하는 것은, 작업의 상태에 기초할 수 있다. 작업의 상태는, 예를 들어, 작업 개시, 일시 정지, 재개 등과 같은, 작업 그 자체에 관련된 이벤트들에 기초할 수 있다. 작업의 상태는 또한 다른 작업들에 관련된 이벤트들에 기초할 수 있다.
예를 들어, 파일 저장 위치 사이에서 이동하는 것과 같은, 파일이 한 위치에서 다른 위치로 이동되는 것을 포함하는 예시적인 시나리오를 고려한다. 다양한 실시예들에 따라, 파일 이동 작업에 관한 다양한 정보의 시각적 표시를 포함하는 그래픽 사용자 인터페이스가 나타날 수 있다. 이러한 정보의 예에는 작업 동안 해야 할 일의 양, 예컨대, 이동될 파일의 수 및/또는 데이터의 양을 포함한다. 이 정보는 또한 파일 이동 작업이 발생하는 레이트(rate), 작업의 진행 상황(예컨대, 얼마나 많은 파일 및/또는 얼마나 많은 데이터가 이동되었는지), 작업 동안 해야 할 일이 얼마나 많이 남아 있는지를 포함할 수 있다.
예시적인 시나리오에 덧붙여, 그래픽 사용자 인터페이스는 작업에 대한 추정된 남은 시간의 시각적 표시를 포함한다. 남은 시간은, 예를 들어, 시, 분, 초 면에서 표시될 수 있다. 작업의 다양한 상태들에 기초하여, 작업에 대한 남은 시간은 추정될 수 있고, 예컨대, 주기적으로 및/또는 작업에 영향을 미치는 다양한 이벤트들에 응답하여 추정될 수 있다. 남은 시간의 시각적 표시는 추정된 남은 시간을 반영하기 위해 업데이트될 수 있다. 본 명세서에 상세히 기술되는 바와 같이, 작업에 대한 남은 시간을 추정하기 위한 기술은 작업 상태의 변화를 설명하면서 작업의 진행 상황을 모니터링하기 위한 안정된 사용자 경험을 제공하기 위해 이용될 수 있다.
다음의 논의에서, 본 명세서에 기술된 기술들을 이용하도록 동작 가능한 예시적인 환경이 먼저 기술된다. 다음으로, "예시적인 구현 시나리오"라는 제목의 섹션이 하나 이상의 실시예들에 따라 일부 예시적인 구현 시나리오들을 기술한다. 이 다음으로, "예시적인 절차"라는 제목의 섹션이 하나 이상의 실시예들에 따라 일부 예시적인 방법들을 기술한다. 다음으로, "기타 실시예들"이라는 제목의 섹션이 하나 이상의 실시예들에 따라 본 명세서에 논의된 기술들의 일부 추가의 예시적인 구현예들을 기술한다. 마지막으로, "예시적인 시스템 및 디바이스"라는 제목의 섹션이 하나 이상의 실시예들에 따라 본 명세서에서 논의된 기술들을 이용하도록 동작 가능한 예시적인 시스템 및 디바이스를 기술한다.
하나 이상의 실시예들에 따라 예시적인 구현예들에 대한 개요가 제시되었고, 이제 예시적인 구현예들이 이용될 수 있는 예시적인 환경을 고려한다.
예시적인 환경
도 1은 본 명세서에 기술된 작업에 대한 남은 시간을 추정하기 위한 기술을 이용하도록 동작 가능한 예시적인 구현예의 환경(100)의 예시이다. 예시된 환경(100)은 다양한 방식으로 구성될 수 있는 컴퓨팅 디바이스(102)를 포함한다. 예를 들어, 컴퓨팅 디바이스(102)는 종래의 컴퓨터(예컨대, 데스크톱 개인용 컴퓨터, 랩톱 컴퓨터 등), 이동국, 오락 기기, 텔레비전에 통신 가능하게 결합된 셋톱 박스, 무선 전화기, 넷북, 게임 콘솔, 휴대용 디바이스, 및 도 11과 관련하여 더욱 기술되는 바와 같은 것들로서 구성될 수 있다.
따라서, 컴퓨팅 디바이스(102)는 상당한 메모리 및 프로세서 자원을 갖는 전체 자원 디바이스(예컨대, 개인용 컴퓨터, 게임 콘솔, 슬레이트 또는 태블릿 폼 팩터 디바이스)에서, 제한된 메모리 및/또는 처리 자원을 갖는 저자원 디바이스(예컨대, 종래의 셋톱 박스, 휴대용 게임 콘솔)의 범위에 이를 수 있다. 컴퓨팅 디바이스(102)는 또한 컴퓨팅 디바이스(102)로 하여금 본 명세서에 기술된 바와 같은 하나 이상의 작업들을 수행하도록 하는 소프트웨어를 포함한다.
컴퓨팅 디바이스(102)는 애플리케이션(104) 및 서비스(106)를 포함하고, 이들은 컴퓨팅 디바이스(102)를 통해 다양한 태스크를 수행하기 위한 기능들을 나타낸다. 애플리케이션(104)의 예들은 워드 프로세서 애플리케이션, 이메일 애플리케이션, 내용 편집 애플리케이션, 웹 브라우징 애플리케이션 등을 포함한다. 서비스(106)는 파일 작업, 데이터 처리 작업, 이벤트 통지 등과 같은 태스크를 수행하기 위해 컴퓨터 디바이스(102)에 의해 이용될 수 있는 기능들을 나타낸다. 서비스(106)에 의해 수행 및/또는 관리될 수 있는 파일 작업의 예들은 파일 복사, 파일 이동, 파일 삭제, 파일 다운로드 및/또는 업로드, 파일 재활용, 파일 이름 변경, 파일 속성 변경(예컨대, 파일 메타데이터에 대한 변경) 등을 포함한다.
컴퓨팅 디바이스(102)는 상기 애플리케이션(104), 서비스(106) 등에 대한 작업과 같은, 컴퓨팅 디바이스(102)에 대한 다양한 작업들을 관리하기 위한 기능을 나타내는 작업 관리자 모듈(108)을 더 포함한다. 이러한 작업의 예들은, 파일 작업(예컨대, 위에서 언급한 바와 같음), 진단 작업, 업데이트 작업, 보안 작업 등을 포함한다. 매우 다양한 다른 작업들이 특허청구되는 실시예들에 따라 작업 관리자 모듈(108)을 통해 관리될 수 있다.
컴퓨팅 디바이스(102)의 일부로서 추정기 모듈(110)이 더 포함되고, 이는 본 명세서에서 논의된 작업에 대한 남은 시간을 추정하기 위한 기술의 적어도 일부 양태를 수행하기 위한 기능을 나타낸다. 예를 들어, 작업 사용자 인터페이스(user interface; UI)(112)를 고려하고, 이는 다양한 작업들에 대한 상태의 시각적 표시를 제공하는 작업 차트(114)를 포함한다. 작업 차트(114)는, 예를 들어, 작업이 현재 발생하고 있는 레이트를 나타낼 수 있다. 작업 차트(114)는 또한 작업의 진행 상황, 예컨대, 작업의 몇 퍼센트가 완료되었는지 및/또는 완료되어야 할 작업이 얼마나 많이 남아 있는지를 나타낼 수 있다.
작업 UI(112)는 설명부(116)를 포함하고, 이는 작업 차트(114)를 통해 추적되고 있는 특정한 작업에 관한 정보를 포함한다. 이 예에서, 설명부(116)는 파일 복사 작업의 상태가 추적되고 있다는 것을 나타낸다. 이 작업은 단지 예시를 위해 제시되고, 매우 다양한 상이한 작업들 및/또는 자원들이 특허청구되는 실시예들에 따라 추적될 수 있다.
작업 차트(114)는 일시 정지 제어부(118) 및 취소 제어부(120)를 더 포함한다. 일시 정지 제어부(118)는 작업 차트(114)를 통해 추적되고 있는 작업을 중단하도록 선택 가능하고, 취소 제어부(120)는 이러한 작업을 취소하도록 선택 가능하다. 본 명세서의 다른 곳에서 논의되는 바와 같이, 일시 정지 제어부(118)가 선택되어 작업이 중단될 때, 이러한 작업을 재개하도록 선택 가능한 재개 제어부가 디스플레이될 수 있다.
밸류 마크(value mark)(122)가 작업 차트(114)의 일부로서 포함되어, 추적되고 있는 작업에 대한 현재 값의 그래픽 표시를 제공한다. 예를 들어, 밸류 마크(122)는 데이터 레이트와 같은, 작업의 레이트에 대한 특정 값 또는 값들의 범위에 대응할 수 있다. 이 예에서, 밸류 마크(122)는 파일 다운로드 작업에 대한 현재 다운로도 속도(speed)를 나타낸다. 밸류 마크(122)는 작업 값들의 변화를 시각적으로 나타내기 위해 작업 차트(114) 내에서 상하로 이동할 수 있다.
작업 차트(114)는 진행 상황 마크(124) 및 이력 라인(126)을 더 포함한다. 진행 상황 마크(124)는 완료되어야 할 전체 작업 단위를 참조하여, 현재 작업의 진행 상황을 나타내기 위해 배치된다. 예를 들어, 진행 상황 마크(124)는 작업의 상이한 진행점들을 나타내기 위해 작업 차트(114) 내의 다양한 위치에 배치될 수 있다.
이력 라인(126)은 작업의 이력 값들을 나타낸다. 예를 들어, 이력 라인(126)은 시간적으로 진행 상황 마크(124)에 앞서 발생하는 값들에 대응하는 데이터 점들을 연결할 수 있다. 따라서, 적어도 일부 구현예들에서, 진행 상황 마크(124)는 작업이 진행함에 따라, 작업 차트(114) 내에서 왼쪽에서 오른쪽으로 횡단할 수 있다. 게다가, 진행 상황 마크(124)가 작업 차트(114) 내에서 횡단함에 따라, 이력 라인(126)은 이전 작업 값들, 예컨대, 상이한 진행점들에서의 이전 값들을 나타낼 수 있다.
작업 UI(112)는 또한 시간 추정치(128) 및 잔여 항목 표시기(130)를 포함한다. 시간 추정치(128)는 작업 차트(114)와 연관된 작업이 완료될 때까지의 추정된 남은 시간의 시작적 표시를 포함한다. 다양한 실시예들에 따라, 추정기 모듈(110)은 다양한 정보 및 상이한 파라미터들에 기초하여, 작업 완료까지의 남은 시간을 추정할 수 있다. 예를 들어, 추정기 모듈(110)은 작업 상태를 모니터링하여, 작업 상태에 대한 변화에 기초하여 작업에 대한 남은 시간 추정치를 조정할 수 있다. 따라서, 작업이 완료를 향해 진행하고 및/또는 다른 이벤트가 발생함에 따라, 시간 추정치(128)는 작업 진행 상황의 변화를 반영하기 위해 업데이트될 수 있다. 추정기 모듈(110)의 추가의 동작적 양태들이 본 명세서의 다른 곳에서 상세히 기술된다.
잔여 항목 표시기(130)는 작업에서 완료되기 위해 남아 있는 작업 항목 수의 표시를 제공한다. 잔여 항목은, 예를 들어, 복사되기 위해 남아 있는 파일의 수, 컴퓨팅 디바이스(102)를 통해 송수신되기 위해 남아 있는 바이트 수 등과 같은, 완료되기 위해 남아 있는 일 단위의 수를 나타낼 수 있다. 따라서, 적어도 일부 실시예들에서, 작업은 일 단위의 총 수로서 추출될 수 있다. 잔여 항목 표시기(130)는 일 단위의 총 수로부터 완료되기 위해 남아 있는 일 단위의 수를 디스플레이할 수 있다. 대안적으로 또는 부가적으로, 잔여 항목 표시기는, 특정 작업 진행점에서 완료된 일 단위의 수를 나타내는, 완료된 항목 표시기로서 구현될 수 있다.
본 명세서에서 기술된 기술이 동작할 수 있는 예시적인 환경이 기술되었고, 이제 하나 이상의 실시예들에 따라 일부 예시적인 구현 시나리오의 논의를 고려한다.
예시적인 구현 시나리오
다음 논의는 하나 이상의 실시예들에 따라 작업에 대한 남은 시간을 추정하기 위한 일부 예시적인 구현 시나리오를 기술한다. 다음 논의의 일부에서, 도 1의 환경(100)의 다양한 양태들을 참조할 것이다.
도 2는 예시적인 구현 시나리오(일반적으로, 200)를 나타낸다. 시나리오(200)의 상위 부분은 작업 UI(202)를 포함하고, 이는 작업에 관한 정보를 디스플레이하도록 구성된다. 작업 UI(202)는 작업 차트(204)를 포함하고, 이는 진행 중인 파일 복사 작업에 관한 정보를 디스플레이한다. 시간 추정치(206)는 파일 복사 작업에 대한 추정된 남은 시간을 디스플레이하고, 잔여 항목 표시기(208)는 작업의 일부로서 복사되기 위해 남아 있는 항목(예컨대, 파일)의 수를 디스플레이한다.
작업 UI(202)는 작업 차트(210)를 더 포함하고, 이는 진행 중인 파일 업로드 작업에 관한 정보를 디스플레이한다. 시간 추정치(212)는 파일 업로드 작업에 대한 추정된 남은 시간을 디스플레이하고, 잔여 항목 표시기(214)는 업로드되기 위해 남아 있는 항목(예컨대, 파일)의 수를 디스플레이한다. 예시된 바와 같이, 시간 추정치(212)는 업로드 작업이 완료 때까지, 따라서 거의 완료될 때까지, 대략 2 초가 소요됨을 나타낸다.
시나리오(200)의 하위 부분으로 진행하면, 작업 차트(210)와 연관된 파일 업르도 작업이 완료되므로, 작업 차트(210)는 작업 UI(202)에서 제거된다. 게다가, 작업 UI(202)는 작업 차트(210)가 더 이상 디스플레이되지 않기 때문에, 크기 조정된다.
작업 차트(210)와 연관된 업로드 작업의 완료는 작업 차트(204)와 연관된 파일 복사 작업에 대한 추정된 완료 시간의 재계산을 야기한다. 예를 들어, 파일 업로드 작업의 완료에 의해 야기되는 작업 상태의 변화에 대한 통지가 생성되어 추정기 모듈(110)로 전송될 수 있다. 이러한 통지에 응답하여, 추정기 모듈(110)은 작업 차트(204)와 연관된 파일 복사 작업에 대한 추정된 남은 시간을 재계산할 수 있다. 시간 추정치(206)는 재계산된 시간 추정치에 기초하여 업데이트될 수 있다.
예를 들어, 작업 차트(210)와 연관된 현재 완료된 업로드 작업을 수행하는데 이용되었던 자원(예컨대, 디바이스 자원, 네트워크 자원 등)이 이제 이용 가능하다는 것을 고려한다. 이러한 자원은 작업 차트(204)와 연관된 파일 복사 작업을 완료하기 위해 이용 가능하게 만들어지므로, 파일 복사 작업이 진행되는 레이트의 증가를 야기한다. 따라서, 완료까지의 시간 추정치는 이전 레이트에 기초하여 제공되는 것보다 더 정확한 추정치를 제공하기 위해 증가된 작업 레이트에 기초하여 재계산된다. 다양한 이벤트들에 기초하여 남은 시간을 추정하는 것에 관한 더욱 상세한 사항이 아래에 제공된다.
재계산된 완료 시간 추정치에 기초하여, 시간 추정치(206)는 완료까지의 새로운 추정된 시간을 반영하기 위해 업데이트된다. 잔여 항목 표시기(208)는 복사되기 위해 남아 있는 항목의 수를 반영하기 위해 업데이트된다.
도 3은 예시적인 구현 시나리오(일반적으로, 300)를 나타낸다. 시나리오(300)의 상위 부분은 작업 UI(302)를 포함하고, 이는 작업 차트(304) 및 작업 차트(306)를 포함한다. 예시된 바와 같이, 작업 차트(304)는 파일 다운로드 작업에 대한 진행 상황을 추적하고, 작업 차트(306)는 파일 삭제 작업에 대한 진행 상황을 추적한다.
시나리오(300)에 덧붙여, 사용자는 작업 차트(306)와 연관된 일시 정지 제어부(308)를 선택한다. 일시 정지 제어부(308)의 선택은 파일 삭제 작업이 일시 정지, 예컨대, 중단되도록 야기한다.
시나리오(300)의 하위 부분으로 계속 가면, 파일 삭제 작업을 일시 정지시키는 것은, 작업 차트(304)와 연관된 파일 다운로드 작업에 대한 완료 시간의 재계산을 야기한다. 예를 들어, 지금 일시 정지된 삭제 작업을 수행하는데 이용되고 있었던 자원들은 파일 다운로드 작업을 수행하는데 이용 가능하다. 자원의 증가는 파일 다운로드 작업이 진행하는 레이트의 대응하는 증가를 야기할 수 있다.
파일 다운로드 작업에 대한 완료 시간의 재계산에 응답하여, 파일 다운로드 작업에 대한 시간 추정치(310)는 재계산된 시간을 반영하기 위해 업데이트된다.
더욱 예시되는 바와 같이, 일시 정지 제어부(308)의 선택은 재개 제어부(resume control)(312)가 디스플레이되도록 야기한다. 재개 제어부(312)는, 예컨대, 파일 삭제 작업이 일시 정지되었던 시점으로부터, 파일 삭제 작업이 재개되도록 야기하기 위해 선택 가능하다.
적어도 일부 실시예들에서, 작업은 작업 동안에 발생하는 충돌과 같은 이벤트에 응답하여 자동적으로 일시 정지될 수 있다. 작업을 자동적으로 일시 정지시키기는 예시적인 구현예들이 아래에 논의된다.
도 4는 예시적인 구현 시나리오(일반적으로, 400)를 나타낸다. 시나리오(400)의 상위 부분은 작업 UI(402)를 포함하고, 이는 결국 작업 차트(404)를 포함한다. 예시된 바와 같이, 작업 차트(404)는 파일 복사 작업에 대한 진행 상황을 추적한다.
시간 추정치(406)에 의해 표시되는 바와 같이, 파일 복사 작업은 완료까지 20 초가 남아 있는 것으로 추정되고, 현재 일시 정지 상태에 있다. 예를 들어, 작업 차트(404)와 연관된 일시 정지 제어부가 선택되었을 수 있다. 작업 UI(402)는 또한 재개 제어부(408)를 포함하고, 이는 파일 복사 작업을 일시 정지 상태로부터 재개하도록 야기하기 위해 선택 가능하다.
시나리오(400)의 중앙 부분으로 계속 가면, 재개 제어부(408)는, 예컨대, 사용자 입력을 통해, 선택된다. 재개 제어부(408)의 선택에 응답하여, 파일 복사 작업은 재개된다. 시간 추정치(406)는, 예컨대, 재개된 파일 복사 작업에 응답하여, 남은 시간이 현재 추정되고 있다는 것을 나타낸다. 게다가, 재개 제어부(408)는 일시 정지 제어부(410)로 교체된다.
시나리오(400)의 하위 부분으로 계속 가면, 남은 시간은 본 명세서에 논의된 기술들에 따라 재계산되고, 시간 추정치(406)는 파일 복사 작업에 대한 재계산된 남은 시간을 반영하기 위해 업데이트된다. 예시된 바와 같이, "추정중" 표시는 남은 시간이 재계산되어 디스플레이된 것을 반영하기 위해 시간 추정치(406)에서 제거된다.
따라서, 시나리오(400)는 실시예들이 다양한 작업들을 일시 정지 및 재개하기 위해 이용될 수 있고, 본 명세서에 논의된 기술들은 작업이 중단된 상태로부터 재개될 때 작업에 대한 남은 시간을 정확하게 재추정할 수 있다는 것을 나타낸다.
도 5는 예시적인 구현 시나리오(일반적으로, 500)를 나타낸다. 적어도 일부 실시예들에 따라, 시나리오(500)는 추가 작업의 개시가 현재 진행 중인 작업에 대해 남은 시간 추정치의 재계산을 야기하는 예시적인 구현예를 보여준다.
시나리오(500)의 상위 부분은 작업 UI(502)를 포함하고, 이는 결국 작업 차트(504)를 포함한다. 예시된 바와 같이, 작업 차트(504)는 파일 이동 작업의 진행 상황을 추적한다. 작업 UI(502)는 시간 추정치(506)를 더 포함하고, 이는 파일 이동 작업의 완료 때까지의 추정된 시간을 나타낸다.
시나리오(500)의 하위 부분으로 진행하면, 파일 이동 작업에 더하여 파일 업로드 작업이 개시된다. 예를 들어, 파일 이동 작업이 진행 중인 동안, 사용자 및/또는 다른 엔티티가 파일 업로드 작업을 개시할 수 있다. 파일 업로드 작업의 개시에 응답하여, 작업 차트(508)가 파일 업로드 작업의 진행 상황을 추적하기 위해 작업 UI(502)에 더해진다.
파일 업로드 작업의 개시는 또한 작업 차트(504)와 연관된 파일 이동 작업에 대한 남은 시간의 재계산을 야기한다. 예를 들어, 파일 이동 작업을 수행하는데 이용되고 있는 적어도 일부 자원들이 파일 업로드 작업을 수행하는 것을 돕기 위해 전용될 수 있다. 따라서, 파일 이동 작업은 줄어든 자원들에 기초하여 더욱 느리게 진행할 수 있다.
파일 이동 작업에 대한 남은 시간의 재계산을 반영하기 위해서, 시간 추정치(506)는 남은 시간이 추정되고 있다는 것을 나타낸다("추정중"). 따라서, 시간 추정치(506)는 이벤트(예컨대, 파일 업로드 작업의 개시)가 파일 이동 작업의 진행 상황에 변화를 야기했고, 파일 이동 작업에 대한 완료까지의 추정된 시간이 현재 추정되고 있다는 시각적 표시를 제공할 수 있다.
여기에 명시적으로 예시되지 않았지만, 재계산되는 파일 이동 작업에 대한 남은 시간에 응답하여, 시간 추정치(506)는 그 남은 시간으로 업데이트될 수 있다. 게다가, "추정중" 표시는 새롭게 재계산된 시간 추정치가 디스플레이된다는 것을 나타내기 위해 시간 추정치(506)에서 제거될 수 있다.
도 6은 예시적인 구현 시나리오(일반적으로, 600)를 나타낸다. 적어도 일부 실시예들에 따라, 시나리오(600)는 작업 충돌이 해결된 이후에 작업이 재개되는 예시적인 구현예를 보여준다.
시나리오(600)의 상위 부분은 작업들의 다양한 양태들을 추적하는 작업 UI(602)를 나타낸다. 이 예에서, 작업 UI(602)는 파일 복사 작업에 관한 정보를 포함한다. 시나리오(600)에 덧붙여, 충돌이 파일 복사 작업 동안에 발생한다. 충돌 통지(604)에 의해 표시된 바와 같이, 이름 충돌이 복사 중인 파일과 복사 목적지에 이미 저장된 파일 간에 발생한다.
이러한 충돌에 응답하여, 파일 복사 작업은 충돌을 해결하기 위한 기회를 제공하기 위해 자동적으로 일시 정지된다. 예를 들어, 충돌을 조정하기 위한 옵션을 제시하는, 충돌 옵션(606)이 제시된다. 적어도 일부 실시예들에서, 충돌 옵션(606)은 선택된다면 연관된 행동들이 발생하도록 야기하는 선택 가능한 제어부이다.
시나리오(600)의 중앙 부분으로 진행하면, 충돌 옵션(606) 중 하나가 선택되고, 이는 대응하는 행동이 발생하도록 하여 파일 복사 작업이 재개하도록 한다. 예를 들어, 작업 차트(608)는, 예컨대, 진행 상황 표시기, 레이트 표시기의 이동 등을 통해 파일 복사 동작이 재개한다는 시각적 표시를 제공한다.
시간 추정치(610)가 포함되고, 이는 파일 복사 작업에 대한 남은 시간이 계산되고 있다는 것을 나타낸다. 파일 복사 작업의 재개에 응답하여, 예를 들어, 남은 시간은 본 명세서에 논의된 기술들에 따라 이전에 계산된 시간 추정치로부터 재계산될 수 있다.
시나리오(600)의 하위 부분으로 계속 가면, 파일 복사 작업의 남은 시간은 재계산되고, 시간 추정치(610)는 재계산된 시간 추정치를 반영하기 위해 업데이트된다. 따라서, 작업 충돌이 발생하는 경우, 충돌이 제거 및/또는 해결된 이후에 작업에 대한 남은 시간을 계산하기 위한 기술들이 이용될 수 있다.
일부 예시적인 구현 시나리오들이 기술되었고, 이제 하나 이상의 실시예들에 따라 일부 예시적인 절차의 논의를 고려한다.
삭제
예시적인 절차
다음 논의는 하나 이상의 실시예들에 따라 작업에 대한 남은 시간을 추정하기 위한 일부 예시적인 절차를 기술한다. 예시적인 절차는 도 1의 환경(100), 도 11의 시스템(1100) 및/또는 임의의 다른 적합한 환경에서 이용될 수 있다. 앞서 논의된 구현 시나리오들은, 예를 들어, 예시적인 절차의 다양한 양태들을 이용하여 구현될 수 있다.
도 7은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다. 단계(700)는 작업이 활성화되었는지를 확인한다. 작업 관리자 모듈(108)은, 예를 들어, 작업이 개시되고 및/또는 활성화된 것을 결정할 수 있다. 적어도 일부 실시예들에서, 그 작업과 연관된 서비스 및/또는 애플리케이션은 작업이 개시되고 및/또는 활성화되었다는 통지를 생성할 수 있다.
단계(702)는 작업을 위해 완료되어야 할 일 단위의 총량을 결정한다. 작업의 데이터량과 같은, 다양한 유형의 일 단위들이 고려될 수 있다. 데이터량은 비트, 바이트 등과 같은 여러 가지 상이한 단위들을 이용하여 측정될 수 있다. 다른 예로서, 단위는 파일의 인스턴스, 데이터의 블록 등과 같은 이산 항목에 기초할 수 있다. 예를 들어, 한 위치에서 다른 위치로 데이터를 이동하는 작업을 참조하면, 일 단위는 데이터 단위로 이동될 데이터의 총량, 이동될 데이터 파일의 총 수 등을 나타낼 수 있다. 매우 다양한 다른 일 단위들이 특허청구되는 실시예들에 따라 이용될 수 있다.
단계(704)는 완료된 일 단위의 수를 결정한다. 예를 들어, 완료된 일 단위의 수는 작업 동안 다양한 진행점들에서 결정될 수 있다.
단계(706)은 작업의 상태를 확인한다. 아래에 더욱 상세히 논의되는 바와 같이, 작업은 다양한 상태를 가질 수 있다. 작업 상태의 예에는, 작업 개시, 작업 경고(예컨대, 다른 이벤트에 응답하여), 작업의 일반 진행 등을 포함한다.
단계(708)는 작업의 상태 및 완료되기 위해 남아 있는 일 단위의 수에 기초하여, 작업에 대한 남은 시간을 추정한다. 예를 들어, 남은 시간은 상이한 작업 상태에 기초하여 변할 수 있는 파라미터 및 다른 인자들에 기초하여 계산될 수 있다. 남은 시간을 추정하는 것에 관한 더욱 상세한 사항이 아래에 제공된다.
단계(710)는 완료까지의 추정된 시간에 기초하여 시간 추정치 표시기를 업데이트한다. 예를 들어, 남은 시간의 시각적 표시는 작업의 완료까지의 추정된 시간을 반영하기 위해 업데이트될 수 있다. 음향식 표시기와 같은 다른 유형의 시간 추정치 표시기가 부가적으로 또는 대안적으로 이용될 수 있다.
단계(712)는 작업이 완료되었는지의 여부를 확인한다. 작업이 완료되지 않으면("No"), 프로세스는 단계(700)로 리턴한다. 예를 들어, 작업에 대한 남은 시간은 작업이 진행함에 따라, 그리고 작업이 완료될 때까지, 지속적으로 및/또는 점차적으로 추정 및 업데이트될 수 있다. 작업이 완료되면("Yes"), 단계(714)는 작업을 종료한다.
도 8은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다. 적어도 일부 실시예들에 따라, 이 방법은 도 7의 단계(708)를 참조하여 논의된 바와 같은, 작업에 대한 남은 시간을 추정하기 위해 시간 추정 파라미터들을 결정하는 예시적인 구현예를 기술한다. 시간 추정 파라미터들, 예를 들어, 도 7의 단계(706)에서 결정된 작업 상태에 기초하여 결정될 수 있다.
단계(800)는 작업이 개시 상태에 있는지를 결정한다. 개시 상태는, 예를 들어, 작업의 시작에서 초기 시간 기간에 대응할 수 있다. 적어도 일부 실시예들에서, 초기 시간 기간은 1 초, 2 초, 5 초 등과 같은, 작업의 시작으로부터 측정된 특정 시간 증가를 이용하여 정의될 수 있다.
작업이 개시 상태에 있으면("Yes"), 단계(802)는 개시 상태에 대한 계산 파라미터 및 계산 간격을 검색한다. 다양한 실시예들에 따라, 계산 파라미터는 작업에 대한 남은 시간을 추정하기 위해 이용되는 다양한 측정치들에 대해 얼마나 큰 가중치가 주어지는지를 지정한다. 예를 들어, 계산 파라미터는 작업에 대한 시간 추정치 및/또는 레이트 측정치에 적용될 수 있는 가중치 함수를 포함할 수 있다.
다양한 실시예들에 따라, 계산 간격은 레이트 측정치, 얼마나 많은 일 단위가 완료되었는지의 측정치 등과 같은, 측정치가 취해지는 시간 기간을 나타낼 수 있다. 따라서, 상이한 계산 간격이 상이한 작업 상태에 이용될 수 있고, 아래에 더욱 상세하게 논의된다.
작업이 개시 상태가 아니면("No"), 단계(804)는 작업이 경고 상태인지의 여부를 결정한다. 경고 상태는, 예를 들어, 특정 이벤트가 일어났어다, 특정 이벤트가 일어나고 있는 중이다 및/또는 특정 이벤트가 발생할 것이다라는 통지와 같은, 다양한 이벤트들의 표시에 대응한다. 이러한 이벤트들의 예에는 작업 일시 정지 이벤트, 작업 재개 이벤트, 작업 완료 이벤트, 새로운 작업 이벤트 등과 같은, 작업에 대한 동작 상태의 변화를 포함한다. 경고는 남은 시간이 추정되고 있는 동안 및/또는 동시에 발생되는 작업과 같은 상이한 작업 동안 이벤트의 변경에 기초하여 생성될 수 있다.
경고는 또한 자원 변경 이벤트, 사용자 활동 이벤트 등과 같은 다른 이벤트들에 기초하여 생성될 수 있다. 자원 변경 이벤트의 예로는 네트워크 대역폭의 증가 또는 감소, 프로세서 가용성의 변화 등을 포함한다. 사용자 활동 이벤트의 예에는 애플리케이션, 서비스 등과 같은 다양한 기능들과 사용자의 상호 작용을 포함한다. 따라서, 적어도 일부 실시예들에서, 경고는 배경 이벤트와 같은, 사용자에게 명시적으로 디스플레이되지 않는 이벤트에 기초하여 생성되고 남은 시간이 재계산될 수 있다.
작업이 경고 상태에 있으면("Yes"), 단계(806)는 경고 상태에 대한 계산 파라미터 및 계산 간격을 검색한다. 작업이 경고 상태에 있지 않으면("No"), 단계(808)는 일반 상태에 대한 계산 파라미터 및 계산 간격을 검색한다. 다양한 실시예들에 따라, 일반 상태는 작업 개시 이후에 경고 이벤트를 경험하지 않고, 작업이 특정 기간 시간 동안 진행 중인 경우 발생하는 작업 상태를 나타낸다. 예를 들어, 일반 상태는 작업에 대한 "정상" 작업 조건을 나타낼 수 있다.
일반 상태는, 예를 들어, 작업 개시에 및/또는 경고 후에 시작하는 타이머에 기초 할 수 있다. 타이머가 만료되면(예컨대, 경고로부터의 인터럽션 없이), 작업은 일반 상태에 있는 것으로 간주될 수 있다. 타이머가 경과되는 동안 경고 조건이 발생하면, 타이머는 리셋 및/또는 재시작될 수 있다. 2초, 5초 등과 같은 임의의 적합한 시간 기간이 이용될 수 있다.
단계(810)는 검색된 파라미터 및 간격에 기초하여 작업에 대한 남은 시간을 추정한다. 파라미터 및 간격에 기초하여 남은 시간을 계산하는 상세한 예가 이하에 제시된다.
도 9는 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다. 적어도 일부 실시예들에 따라, 이 방법은 도 8의 단계(810)를 참조하여 논의된 바와 같은, 작업에 대한 남은 시간을 계산하는 예시적인 구현예를 기술한다.
단계(900)는 속도 간격 동안 작업에 대한 속도 측정치를 계산한다. 속도는 일반적으로 작업이 발생하는 레이트를 나타낸다. 예를 들어, 속도는 데이터 레이트, 비트 레이트, 데이터 전송 레이트 등을 참조하여 측정될 수 있다. 속도는 또한 파일의 인스턴스와 같은, 객체의 개별 인스턴스를 참조하여 측정될 수 있다. 예를 들어, 파일 복사 작업은 파일에서의 데이터가 복사되고 있는 레이트를 참조하여 및/또는 특정 시간 기간 동안 복사된 파일 인스턴스들의 수를 참조하여, 측정될 수 있다.
속도 간격은 위에서 언급한 계산 간격 중 하나에 대응한다. 적어도 일부 실시예들에서, 상이한 속도 간격들이 상이한 작업 상태들에 대해 정의될 수 있고, 속도 측정치가 취해질 수 있는 지정된 시간 간격들에 대응할 수 있다. 예를 들어, 개시 상태에 대한 속도 간격은 경고 상태 또는 일반 상태에 대한 속도 간격보다 짧을 수 있다. 속도 간격은 밀리초, 초, 프레임(예컨대, 프레임 레이트 및/또는 리프레시 레이트를 참조함) 등의 단위와 같은, 임의의 적합한 단위를 이용하여 정의될 수 있다. 따라서, 적어도 일부 실시예들에서, 다수의 속도 측정치들이, 예컨대, 정의된 측정 기간에 따라, 속도 간격 동안 취해질 수 있다. 하나 이상의 실시예들에 따라, 제로(0)의 속도 간격이 설정되어, 단일 속도 측정치가 취해진다.
단계(902)는 파라미터화된 속도 측정치를 획득하기 위해 속도 측정치에 속도 파라미터를 적용한다. 일반적으로, 속도 파라미터는 앞서 논의된 계산 파라미터들의 구현예에 대응한다. 따라서, 적어도 일부 실시예들에서, 상이한 작업 상태들은 상이한 속도 파라미터들과 연관될 수 있다.
위에서 언급한 바와 같이, 속도 파라미터는 전체 가중된 값을 결정하기 위해 상이한 값들에 상이한 가중치를 적용하는 가중치 함수로서 구현될 수 있다. 예를 들어, 위에서 언급한 바와 같이, 다수의 속력 측정치들이 속도 간격 동안 취해지는 것을 고려한다. 작업의 실제 속도를 결정할 때 측정치들의 일부가 다른 것들과 상이하게 가중되도록 가중치 함수가 속도 측정치에 적용될 수 있다.
예를 들어, 10 개의 속도 측정치들이 속도 간격 동안 취해지는 시나리오를 고려한다. 제1의 5 개의 측정치들이 제2의 5 개의 것보다 무겁게 가중되도록 가중치 함수가 속도 측정치들에 적용될 수 있다. 적어도 일부 구현예들에서, 이것은 발생할 수 있는 작업 속도의 스파이크가 전체 속도 계산에 몹시 영향을 미치는 것을 방지할 수 있다. 이 시나리오는 단지 예시를 위해 제시되고, 매우 다양한 상이한 가중치 함수들이 다양한 실시예들에 따라 적용될 수 있다.
속도 파라미터를 적용하는 것에 덧붙여, 가중치 함수에 따라 가중되는 및/또는 속도 간격 동안 취해지는 속도 측정치들은 파라미터화된 속도 측정치를 획득하기 위해 평균을 낼 수 있다.
단계(904)는 남은 일 단위의 양 및 파라미터화된 속도 측정치에 기초하여 작업에 대한 남은 시간을 추정한다. 예를 들어, 남은 일 단위의 양은 작업에 대한 일 단위 전체 값으로부터 완료된 일 단위의 양에 대한 값을 감산함으로써 결정될 수 있다. 남은 일 단위의 양은 작업에 대한 남은 시간의 추정된 양을 얻기 위해 앞서 계산된 파라미터화된 속도 측정치에 의해 나누어질 수 있다.
예를 들어, 전체 일 단위가 1000 메가바이트이고, 200 메가바이트는 완료되었으며, 1 초당 50 메가바이트의 속도가 계산되는 시나리오를 고려한다. 이 시나리오에서, 추정된 남은 시간은 16 초인 것으로 결정된다. 즉, 1 초당 50 메가바이트에서의 800 메가바이트인 것으로 결정된다.
그런 다음, 추정된 남은 시간은 다양한 방식으로 출력될 수 있고, 이에 대한 예들이 위 아래에 논의된다.
앞서 기술된 방법은 작업에 대한 남은 시간을 추정하기 위한 일 예시적인 구현예만을 제공한다. 예를 들어, 다른 구현예에서, 실시예들은 단순히 작업에 대한 남은 일 단위의 양을 결정하여, 작업에 대한 추정된 남은 시간을 결정하기 위해 작업의 현재 속도(예컨대, 개별 측정치로서)로 그것을 나눌 수 있다. 대안적으로 또는 부가적으로, 앞서 논의된 가중치 함수는 선택적으로 생략될 수 있어, 다수의 속도 측정치들의 단순 평균이 추정된 남은 시간을 계산하는데 이용된다.
게다가, 적어도 일부 실시예들은 특정한 양만큼 평균 값에서 벗어나는 측정치(예컨대, 속도 측정치)를 제거하는 필터를 이용할 수 있다. 예를 들어, (앞서 상세하게 기술된 바와 같이) 한 그룹의 속도 측정치들이 속도 간격 동안 취해지면, 어떤 백분위만큼 측정치들 중 다른 것들에서 벗어나는 측정치가 전체 속도 측정치를 얻기 위해 함께 측정치들을 평균 내기 위해서 무시될 수 있다.
도 10은 하나 이상의 실시예들에 따라 방법의 단계들을 기술하는 흐름도이다. 적어도 일부 실시예들에 따라, 이 방법은 도 7의 단계(710)를 참조하여 논의된 바와 같은, 추정된 남은 시간을 출력하는 예시적인 구현예를 기술한다.
단계(1000)는 작업에 대한 추정된 남은 시간을 수신한다. 예를 들어, 남은 시간은 본 명세서에 논의된 기술들을 이용하여 추정될 수 있다. 단계(1002)는 업데이트 타이머가 만료되었는지의 여부를 결정한다. 적어도 일부 실시예들에서, 얼마나 많은 시간이 작업에 대해 남아 있는지에 기초하여 상이한 업데이트 타이머들이 이용될 수 있다. 예를 들어, 업데이트 타이머는 다양한 남은 시간 문턱 값에 기초하여 지정될 수 있다.
예를 들어, 작업이 완료까지 1 시간 이상이 남아 있으면, 1 분의 업데이트 타이머가 지정될 수 있다. 작업이 1 시간 미만 10 분 이상 남아 있으면, 30 초의 업데이트 타이머가 지정될 수 있다. 작업이 10 분 미만 1 분 이상 남아 있으면, 15 초의 업데이트 타이머가 지정될 수 있다. 작업이 1 분 미만 남아 있으면, 5 초의 업데이트 타이머가 지정될 수 있다. 이러한 업데이트 타이머들은 단지 예시를 위해 제시되고, 매우 다양한 상이한 타이머들이 특허청구되는 실시예들에 따라 구현될 수 있다.
업데이트 타이머가 만료되지 않으면, 단계(1004)는 계속해서 작업에 대한 남은 시간을 추정한다. 예를 들어, 앞서 논의된 방법은 가장 최근의 남은 시간 추정치를 결정하기 위해 반복될 수 있다.
업데이트 타이머가 만료되면("Yes"), 단계(1006)는 작업에 대한 추정된 남은 시간의 표시를 출력한다. 출력은 시각적 디스플레이, 가청 출력, 및/또는 임의의 다른 적합한 출력 형태를 포함할 수 있다.
단계(1008)는 작업이 완료되었는지의 여부를 결정한다. 작업이 완료되면("Yes"), 단계(1010)는 작업을 종료한다. 작업이 완료되지 않으면("No"), 프로세스는 단계(1004)로 진행하여, 계속해서 작업에 대한 남은 시간을 추정한다. 다양한 실시예들에 따라, 최근의 남은 시간 값이 추정되고, 추정된 남은 시간의 표시가 작업이 완료될 때까지 출력되도록 단계(1004)의 실행은 도 7의 단계(700)로의 리턴을 야기한다.
기타 실시예들
본 명세서에 논의된 실시예들은 상기 논의된 것들과 같은, 파일 및 데이터 작업 이외의 목적을 위해 이용될 수 있다. 예를 들어, 실시예들은 제품 개발, 구성, 데이터 처리(예컨대, 태스크 컴파일링), 사회학적 현상(예컨대, 인구 이동), 제품 배송 등과 같은, 다양한 다른 유형의 태스크 및/또는 작업에 대해 완료까지의 값, 진행 상황, 및 시간을 추적하는데 이용될 수 있다. 따라서, 완료 시간은 본 명세서에 논의된 실시예들에 따라 추정 및 재추정될 수 있다.
예시적인 시스템 및 디바이스
도 11은 본 명세서에서 기술되는 다양한 기술들을 구현할 수 있는 하나 이상의 컴퓨팅 시스템 및/또는 디바이스를 나타내는 예시적인 컴퓨팅 디바이스(1102)를 포함하는 예시적인 시스템(일반적으로, 1100)을 나타낸다. 예를 들어, 도 1을 참조하여 앞서 논의된 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(1102)로 구현될 수 있다. 컴퓨팅 디바이스(1102)는, 예를 들어, 서비스 제공자의 서버, 클라이언트와 연관된 디바이스(예컨대, 클라이언트 디바이스), 온칩 시스템, 및/또는 임의의 다른 적합한 컴퓨팅 디바이스 또는 컴퓨팅 시스템일 수 있다.
예시된 바와 같은 예시적인 컴퓨팅 디바이스(1102)는 프로세싱 시스템(1104), 하나 이상의 컴퓨터 판독 가능 매체(1106), 및 통신 가능하게 서로 결합된 하나 이상의 입출력(I/O) 인터페이스(1108)를 포함한다. 도시되지 않았지만, 컴퓨팅 디바이스(1102)는 또한 다양한 컴포넌트들을 서로 결합시키는 시스템 버스 또는 다른 데이터 및 커맨드 전송 시스템을 포함할 수 있다. 시스템 버스는 다양한 버스 아키텍처들 중 임의의 아키텍처를 이용하는 메모리 버스 또는 메모리 제어기, 주변 버스, 범용 직렬 버스 및/또는 프로세서 또는 로컬 버스와 같은, 상이한 버스 구조 중 임의의 하나 또는 이들의 조합을 포함할 수 있다. 제어 및 데이터 라인과 같은, 다양한 다른 예들이 또한 고려된다.
프로세싱 시스템(1104)은 하드웨어를 이용하여 하나 이상의 작업들을 수행하기 위한 기능을 나타낸다. 따라서, 프로세싱 시스템(1104)은 프로세서, 기능 블록 등으로 구성될 수 있는 하드웨어 요소(1110)를 포함하는 것으로 나타난다. 이것은 하나 이상의 반도체를 이용하여 형성된 주문형 반도체 또는 다른 로직 디바이스로서 하드웨어의 구현을 포함할 수 있다. 하드웨어 요소(1110)는 이들이 형성되는 물질 또는 그 내부에 이용되는 프로세싱 메커니즘에 의해 제한되지 않는다. 예를 들어, 프로세서는 반도체(들) 및/또는 트랜지스터(예컨대, 전자 집적 회로(IC))로 구성될 수 있다. 이러한 문맥에서, 프로세서 실행 가능 명령어는 전자적으로 실행 가능 명령어일 수 있다.
컴퓨터 판독 가능 매체(1106)는 메모리/저장 장치(1112)를 포함하는 것으로 나타난다. 메모리/저장 장치(1112)는 하나 이상의 컴퓨터 판독 가능 매체와 연관된 메모리/저장 용량을 나타낸다. 메모리/저장 장치(1112)는 휘발성 매체(예를 들어, 랜덤 액세스 메모리(RAM)) 및/또는 비휘발성 매체(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 광학 디스크, 자기 디스크 등)를 포함할 수 있다. 메모리/저장 장치(1112)는 고정 매체(예컨대, RAM, ROM, 고정 하드 드라이브 등)뿐만 아니라, 분리형 매체(예컨대, 플래시 메모리, 분리형 하드 디스크, 광 디스크 등)을 포함할 수 있다. 컴퓨터 판독 가능 매체(1106)는 아래에 더욱 기술되는 바와 같은 다양한 다른 방식으로 구성될 수 있다.
입출력 인터페이스(들)(1108)은 사용자가 컴퓨팅 디바이스(1102)에 커맨드 및 정보를 입력하도록 하고, 또한 사용자 및/또는 다양한 입출력 디바이스를 이용하는 다른 컴포넌트 또는 디바이스에 정보가 제시되도록 허용하기 위한 기능을 나타낸다. 입력 디바이스의 예에는 키보드, 커서 제어 디바이스(예컨대, 마우스), 마이크로폰(예컨대, 음성 인식 및/또는 구두 입력용), 스캐너, 터치 기능(예컨대, 물리적 터치를 검출하도록 구성된 용량성 또는 다른 센서들), 카메라(예컨대, 터치를 포함하지 않는 동작으로서 움직임을 검출하기 위해 자외선 주파수와 같은 비가시광 파장 또는 가시광 파장을 이용할 수 있음) 등을 포함한다. 출력 장치의 예에는 디스플레이 디바이스(예컨대, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 반응 디바이스 등을 포함한다. 따라서, 컴퓨팅 디바이스(1102)는 사용자 상호 작용을 지원하기 위해 아래에 더욱 기술되는 바와 같은 다양한 방식으로 구성될 수 있다.
다양한 기술들은 소프트웨어, 하드웨어 요소, 또는 프로그램 모듈의 일반적인 문맥으로 본 명세서에 기술될 수 있다. 일반적으로, 이러한 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 요소, 컴포넌트, 데이터 구조 등을 포함한다. 본 명세서에서 이용되는 바와 같은 용어 "모듈", "기능" 및 "컴포넌트"는 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 본 명세서에 기술된 기술들의 특징은 플랫폼 독립적이고, 이것은 기술들이 다양한 프로세서를 갖는 다양한 상업용 컴퓨팅 플랫폼 상에서 구현될 수 있다는 것을 의미한다.
기술된 모듈 및 기술의 구현예는 일부 형태의 컴퓨터 판독 가능 매체를 통해 저장되거나 전송될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨팅 디바이스(1102)에 의해 액세스될 수 있는 다양한 매체를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독 가능 매체는 "컴퓨터 판독 가능 저장 매체" 및 "컴퓨터 판독 가능 신호 매체"를 포함할 수 있다.
"컴퓨터 판독 가능 저장 매체"는 단순한 신호 전송, 반송파, 혹은 신호 그 자체에 대조하여 정보의 영구 저장을 가능하게 하는 매체 및/또는 디바이스를 나타낼 수 있다. 따라서, 컴퓨터 판독 가능 저장 매체는 신호 그 자체를 포함하지 않는다. 컴퓨터 판독 가능 저장 매체는 휘발성 및 비휘발성, 분리형 및 비분리형 매체 및/또는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 로직 요소/회로, 또는 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현되는 저장 디바이스와 같은 하드웨어를 포함한다. 컴퓨터 판독 가능 저장 매체의 예에는, 비제한적으로, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스, 또는 다른 저장 디바이스, 유형 매체, 또는 원하는 정보를 저장하는데 적합하고 컴퓨터에 의해 액세스될 수 있는 제조 물품을 포함할 수 있다.
"컴퓨터 판독 가능 신호 매체"는, 예컨대, 네트워크를 통해 컴퓨팅 디바이스(1102)의 하드웨어에 명령어를 송신하도록 구성되는, 신호 베어링 매체를 나타낼 수 있다. 신호 매체는 통상적으로 반송파, 데이터 신호 또는 다른 전송 메커니즘과 같은, 변조된 데이터 신호에 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 포함할 수 있다. 신호 매체는 또한 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 그 특성들 중 하나 이상을 갖는 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 음향, 무선 주파수(RF), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다.
전술한 바와 같이, 하드웨어 요소(1110) 및 컴퓨터 판독 가능 매체(1106)는 본 명세서에 기술된 기술들 중 적어도 일부 양태들을 구현하기 위해 일부 실시예들에서 이용될 수 있는 하드웨어 형태로 구현된 명령어, 모듈, 프로그램 가능 디바이스 로직 및/또는 고정 디바이스 로직을 나타낸다. 하드웨어 요소는 집적 회로 또는 온칩 시스템의 컴포넌트, 주문형 반도체(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 복합 프로그램 가능 로직 디바이스(CPLD), 및 실리콘 또는 다른 하드웨어 디바이스의 다른 구현예를 포함할 수 있다. 이 문맥에서, 하드웨어 요소는 하드웨어 요소에 의해 포함하는 명령어, 모듈 및/또는 로직에 의해 정의된 프로그램 태스크를 수행하는 프로세싱 디바이스뿐만 아니라, 실행을 위한 명령들을 저장하는데 이용되는 하드웨어 디바이스, 예컨대, 앞서 기술된 컴퓨터 판독 가능 저장 매체로서 동작할 수 있다.
앞서 말한 것의 조합이 또한 본 명세서에 기술된 다양한 기술 및 모듈을 구현하기 위해 이용될 수 있다. 따라서, 소프트웨어, 하드웨어, 또는 프로그램 모듈 및 다른 프로그램 모듈은 하나 이상의 하드웨어 요소(1110)에 의해 및/또는 일부 형태의 컴퓨터 판독 가능 저장 매체 상에 포함된 하나 이상의 명령어들 및/또는 로직으로 구현될 수 있다. 컴퓨팅 디바이스(1102)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정 명령어들 및/또는 기능을 구현하도록 구성될 수 있다. 따라서, 소프트웨어로서 컴퓨팅 디바이스(1102)에 의해 실행 가능한 모듈의 구현은, 예컨대, 컴퓨터 판독 가능 저장 매체 및/또는 프로세싱 시스템의 하드웨어 요소(1110)의 이용을 통해, 적어도 부분적으로 하드웨어로 달성될 수 있다. 명령어 및/또는 기능은 본 명세서에 기술된 기술들, 모듈들, 및 예들을 구현하기 위해 하나 이상의 제조 물품들(예를 들어, 하나 이상의 컴퓨팅 디바이스(1102) 및/또는 프로세싱 시스템(1104))에 의해 실행 가능/동작 가능할 수 있다.
도 11에 더욱 예시된 바와 같이, 예시적 시스템(1100)은 개인용 컴퓨터(PC), 텔레비전 디바이스, 및/또는 모바일 디바이스 상에서 애플리케이션을 작동하는 경우 원활한 사용자 경험을 위해 유비쿼터스 환경을 가능하게 한다. 애플리케이션을 이용하고, 비디오 게임을 하며, 비디오를 시청하는 동안 한 디바이스에서 다음의 디바이스로 전이할 때 공통의 사용자 경험을 위해 서비스 및 애플리케이션은 세 가지 환경에서 모두 실질적으로 유사하게 작동한다.
예시적인 시스템(1100)에서, 다수의 디바이스들은 중앙 컴퓨팅 디바이스를 통해 상호 접속된다. 중앙 컴퓨팅 디바이스는 다수의 디바이스에 대해 로컬일 수도 있고, 다수의 디바이스들로부터 원격으로 위치될 수도 있다. 일 실시예에서, 중앙 컴퓨팅 디바이스는 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 다수의 디바이스들에 연결되는 하나 이상의 서버 컴퓨터들의 클라우드일 수 있다.
일 실시예에서, 이러한 상호 접속 아키텍처는 기능이 다수의 디바이스들의 사용자에게 공통적이고 원활한 경험을 제공하기 위해 다수의 디바이스들을 통해 전달되도록 할 수 있다. 다수의 디바이스들 각각은 상이한 물리적 요건 및 능력을 가질 수 있고, 중앙 컴퓨팅 디바이스는 디바이스에 대해 조정되고 모든 디바이스들에 공통인 디바이스 경험의 전달을 가능하게 하는 플랫폼을 이용한다. 일 실시예에서, 한 클래스의 타겟 디바이스들이 생성되고, 경험은 일반 클래스의 디바이스들에 대해 조정된다. 한 클래스의 디바이스들은 물리적 특징, 용도의 종류, 또는 디바이스의 다른 공통적 특성에 의해 정의될 수 있다.
다양한 구현예들에서, 컴퓨팅 디바이스(1102)는 컴퓨터(1114), 모바일(1116), 및 텔레비전(1118)이 이용하기 위해, 여러 가지 상이한 구성을 가정할 수 있다. 이러한 구성들 각각은 일반적으로 상이한 구조 및 능력을 가질 수 있는 디바이스를 포함하고, 이에 따라, 컴퓨팅 디바이스(1102)는 상이한 디바이스 클래스들 중 하나 이상에 따라 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(1102)는 개인용 컴퓨터, 데스크톱 컴퓨터, 멀티 스크린 컴퓨터, 랩톱 컴퓨터, 노트북 등을 포함하는 컴퓨터(1114) 클래스 디바이스로서 구현될 수 있다.
컴퓨팅 디바이스(1102)는 또한 이동 전화, 휴대용 뮤직 플레이어, 휴대용 게이밍 디바이스, 태블릿 컴퓨터, 멀티 스크린 컴퓨터 등과 같은 모바일 디바이스를 포함하는 모바일(1116) 클래스 디바이스로서 구현될 수 있다. 컴퓨팅 디바이스(1102)는 또한 평상시의 시청 환경에서 일반적으로 큰 스크린에 접속되거나 이를 갖는 디바이스를 포함하는 텔레비전(1118) 클래스 디바이스로서 구현될 수 있다. 이러한 디바이스들은 텔레비전, 셋톱 박스, 게이밍 콘솔 등을 포함한다.
본 명세서에 기술된 기술들은 컴퓨팅 디바이스(1102)의 다양한 구성들에 의해 지원될 수 있으며, 본 명세서에 기슬된 기술들의 특정 예들로 제한되지 않는다. 예를 들어, 작업 관리자 모듈(108) 및/또는 추정기 모듈(110)을 참조하여 논의된 기능은 아래에 기술되는 바와 같이 플랫폼(1122)을 거쳐 분산 시스템의 이용을 통해, 예컨대, "클라우드"(1120)를 통해, 전부 또는 일부 구현될 수 있다.
클라우드(1120)는 자원(1124)에 대한 플랫폼(1122)을 나타내거나 및/또는 이를 포함한다. 플랫폼(1122)은 클라우드(1120)의 하드웨어(예컨대, 서버) 및 소프트웨어 자원의 기본 기능을 추출한다. 자원(1124)은 컴퓨터 프로세싱이 컴퓨터 디바이스(1102)로부터 원격으로 있는 서버 상에서 실행되는 동안 이용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수 있다. 자원(1124)은 또한 셀룰러 또는 Wi-Fi 네트워크와 같은, 가입자 네트워크를 통해 및/또는 인터넷을 통해 제공되는 서비스를 포함할 수 있다.
플랫폼(1122)은 다른 컴퓨팅 디바이스와 컴퓨팅 디바이스(1102)를 접속하기 위해 자원 및 기능을 추출할 수 있다. 플랫폼(1122)은 또한 플랫폼(1122)을 통해 구현되는 자원(1124)에 대한 직면하는 수요에 대해 대응하는 규모 레벨을 제공하기 위해 자원의 규모를 추출하는 역할을 할 수 있다. 따라서, 상호 접속된 디바이스 실시예에서, 본 명세서에 기술된 기능의 구현은 시스템(1100)에 걸쳐 분산될 수 있다. 예를 들어, 기능은 클라우드(1120)의 기능을 추출하는 플랫폼(1122)뿐만 아니라 컴퓨팅 디바이스(1102) 상에 일부 구현될 수 있다.
본 명세서에 논의된 기술들을 수행하기 위해 구현될 수 있는 다수의 방법들이 본 명세서에 논의된다. 방법들의 양태들은 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 방법은 하나 이상의 디바이스들에 의해 수행되는 작업들을 지정하는 블록 세트로서 도시되었지만, 개개의 블록들에 의한 작업들을 수행하기 위해 반드시 도시된 순서로 제한되는 것은 아니다. 게다가, 특정 방법에 대하여 도시된 작업은 하나 이상의 구현예들에 따른 상이한 방법의 작업과 결합 및/또는 상호 교환될 수 있다. 방법의 양태들은 환경(100)을 참조하여 앞서 논의된 다양한 엔티티 사이의 상호 작용을 통해 구현될 수 있다.
결론
작업에 대한 남은 시간을 추정하기 위한 기술이 설명된다. 실시예들이 구조적 기능 및/또는 방법론적 행위에 특정한 언어로 설명되어 있지만, 첨부된 특허청구범위에 정의된 실시예들은 반드시 위에서 설명한 특정 기능 또는 행위로 제한되는 것이 아님이 이해될 것이다. 오히려, 특정 기능과 행위는 특허청구되는 실시예들을 구현하는 예시적인 형태로 개시된다.
Claims (20)
- 컴퓨팅 디바이스에 의한 실행에 응답하여, 상기 컴퓨팅 디바이스로 하여금 동작들을 수행하도록 하는 저장된 명령어들을 그 안에 포함하는 하나 이상의 컴퓨터 판독 가능 저장 매체에 있어서, 상기 동작들은,
속도 간격(speed interval) 동안 작업(operation)에 대해 속도 측정치들을 계산하는 것;
파라미터화된 속도 측정치를 획득하도록 상기 속도 측정치들에 속도 파라미터를 적용하는 것 - 상기 속도 파라미터는 상기 작업의 상태에 적어도 부분적으로 기초하고, 상기 속도 파라미터는 상기 속도 측정치들에 적용되는 가중치 함수를 포함하며, 상기 적용은 상기 가중치 함수가 적용된 이후에 상기 속도 측정치들을 평균하는 동작을 포함함 - ; 및
상기 작업에 대한 남아 있는 일 단위(work unit)의 양 및 상기 파라미터화된 속도 측정치에 기초하여 상기 작업에 대한 남은 시간을 추정하는 것
을 포함하고,
상기 속도 간격은 상기 작업의 상태에 기초하여 결정되는 상기 작업 동안의 지정된 시간 간격을 포함하는 것인, 컴퓨터 판독 가능 저장 매체. - 제1항에 있어서,
상기 작업의 상태는,
상기 작업의 시작에서의 초기 상태;
상기 작업에 영향을 미치는 하나 이상의 이벤트에 기초하여 발생하는 경고 상태; 또는
상기 초기 상태 이후에 경고 이벤트를 경험하지 않고 특정 시간 기간 동안 상기 작업이 진행 중인 경우 발생하는 일반 상태
중 적어도 하나를 포함하는 것인, 컴퓨터 판독 가능 저장 매체. - 제1항에 있어서,
상기 작업의 상태는 상기 작업이 일시 정지된 이후에 재개 상태를 포함하고, 상기 동작들은 상기 남은 시간으로 상기 작업에 대한 남은 시간 표시기(time remaining indicator)를 업데이트하는 것을 더 포함하며, 상기 업데이트하는 것은 상기 작업에 대한 남은 시간이 재계산되고 있다는 시각적 표시를 제공하는 것을 포함하는 것인, 컴퓨터 판독 가능 저장 매체. - 제1항에 있어서,
상기 작업의 상태는 상이한 작업이 개시되거나, 상이한 작업이 완료되거나, 상이한 작업이 일시 정지되거나, 또는 상이한 작업이 재개되는 것 중 적어도 하나에 응답하여 발생하는 경고 상태를 포함하는 것인, 컴퓨터 판독 가능 저장 매체. - 디바이스에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의한 실행에 응답하여, 상기 디바이스로 하여금 동작들을 수행하도록 하는 저장된 명령어들을 그 안에 포함하는 하나 이상의 컴퓨터 판독 가능 저장 매체
를 포함하고, 상기 동작들은,
속도 간격 동안 작업에 대해 속도 측정치들을 계산하는 것;
파라미터화된 속도 측정치를 획득하도록 상기 속도 측정치들에 속도 파라미터를 적용하는 것 - 상기 속도 파라미터는 상기 작업의 상태에 적어도 부분적으로 기초하고, 상기 속도 파라미터는 상기 속도 측정치들에 적용되는 가중치 함수를 포함하며, 상기 적용은 상기 가중치 함수가 적용된 이후에 상기 속도 측정치들을 평균하는 것을 포함함 - ; 및
상기 작업에 대한 남아 있는 일 단위의 양 및 상기 파라미터화된 속도 측정치에 기초하여 상기 작업에 대한 남은 시간을 추정하는 것
을 포함하고,
상기 속도 간격은 상기 작업의 상태에 기초하여 결정되는 상기 작업 동안의 지정된 시간 간격을 포함하는 것인, 디바이스. - 제5항에 있어서,
상기 작업의 상태는,
상기 작업의 시작에서의 초기 상태;
상기 작업에 영향을 미치는 하나 이상의 이벤트에 기초하여 발생하는 경고 상태; 또는
상기 초기 상태 이후에 경고 이벤트를 경험하지 않고 특정 시간 기간 동안 상기 작업이 진행 중인 경우 발생하는 일반 상태
중 적어도 하나를 포함하는 것인, 디바이스. - 제5항에 있어서,
상기 작업의 상태는 상이한 작업이 개시되거나, 상이한 작업이 완료되거나, 상이한 작업이 일시 정지되거나, 또는 상이한 작업이 재개되는 것 중 적어도 하나에 응답하여 발생하는 경고 상태를 포함하는 것인, 디바이스. - 제5항에 있어서,
상기 동작들은 상기 남은 시간으로 상기 작업에 대한 남은 시간 표시기를 업데이트하는 것을 더 포함하는 것인, 디바이스. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/774,901 US8977532B2 (en) | 2013-02-22 | 2013-02-22 | Estimating time remaining for an operation |
US13/774,901 | 2013-02-22 | ||
PCT/US2014/016746 WO2014130401A1 (en) | 2013-02-22 | 2014-02-18 | Estimating time remaining for an operation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150121132A KR20150121132A (ko) | 2015-10-28 |
KR102180450B1 true KR102180450B1 (ko) | 2020-11-18 |
Family
ID=50236293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157026037A KR102180450B1 (ko) | 2013-02-22 | 2014-02-18 | 작업에 대한 남은 시간 추정 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8977532B2 (ko) |
EP (1) | EP2959389A1 (ko) |
JP (1) | JP6309546B2 (ko) |
KR (1) | KR102180450B1 (ko) |
CN (1) | CN105144116B (ko) |
WO (1) | WO2014130401A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977532B2 (en) | 2013-02-22 | 2015-03-10 | Microsoft Technology Licensing, Llc | Estimating time remaining for an operation |
CN103279265B (zh) * | 2013-05-07 | 2016-08-17 | 富泰华工业(深圳)有限公司 | 显示网络信息界面的终端、系统及界面的生成方法 |
CN106649049A (zh) * | 2016-05-09 | 2017-05-10 | 海尔优家智能科技(北京)有限公司 | 一种数据下载进度显示方法及装置 |
CN110851213B (zh) * | 2016-09-23 | 2024-01-30 | 华为机器有限公司 | 一种信息的显示方法以及终端 |
CN107608856A (zh) * | 2017-09-22 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种测试进程的监控方法、装置、计算机可读存储介质 |
US10541042B2 (en) | 2018-04-23 | 2020-01-21 | Microsoft Technology Licensing, Llc | Level-crossing memory trace inspection queries |
US10747645B2 (en) | 2018-04-27 | 2020-08-18 | Microsoft Technology Licensing, Llc | Selectively tracing portions of computer process execution |
US10740219B2 (en) | 2018-04-27 | 2020-08-11 | Workman Nydegger | Selectively tracing portions of computer process execution |
US10698792B2 (en) | 2018-05-02 | 2020-06-30 | Microsoft Technology Licensing, Llc | Execution control with cross-level trace mapping |
CN109213630A (zh) * | 2018-08-16 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种u盘的数据复制方法及相关装置 |
US11315060B2 (en) | 2018-09-26 | 2022-04-26 | Walmart Apollo, Llc | System and method for visualizing workflows in an entire management ecosystem |
US11074011B2 (en) | 2019-03-20 | 2021-07-27 | Western Digital Technologies, Inc. | Solid state drive latency estimation interface for host performance tuning |
US11983094B2 (en) | 2019-12-05 | 2024-05-14 | Microsoft Technology Licensing, Llc | Software diagnostic context selection and use |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275987B1 (en) | 1998-11-05 | 2001-08-14 | International Business Machines Corporation | Adaptive, predictive progress indicator |
US20100058120A1 (en) * | 2008-08-26 | 2010-03-04 | Microsoft Corporation | Dynamic Inline Sequence Interface |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04305740A (ja) | 1991-04-02 | 1992-10-28 | Oki Electric Ind Co Ltd | 処理状況表示方法 |
JPH05181688A (ja) | 1991-05-24 | 1993-07-23 | Internatl Business Mach Corp <Ibm> | タスクの進行を予測する方法、プログラム製品及びワークステーシヨン |
JPH0627777A (ja) * | 1992-07-08 | 1994-02-04 | Canon Inc | 複写装置 |
US5758161A (en) | 1996-05-24 | 1998-05-26 | International Business Machines Corporation | Testing method for checking the completion of asynchronous distributed collective operations |
JPH11296413A (ja) * | 1998-04-09 | 1999-10-29 | Minolta Co Ltd | 画像情報処理システムにおける処理時間推定方法及び処理時間を推定できるプログラムを記録した機械読取り可能な記録媒体 |
US6927770B2 (en) * | 2000-01-05 | 2005-08-09 | Apple Computer Inc. | Interface providing continuous feedback on task progress in a computer operating system |
US6874130B1 (en) * | 2000-02-17 | 2005-03-29 | International Business Machines Corporation | Copy/move graphical user interface apparatus and method |
US20020003941A1 (en) | 2000-06-26 | 2002-01-10 | Eiichi Hatae | Remaining recordable time calculation apparatus that converts amount of free area of recording medium into time |
US7110995B2 (en) * | 2002-02-27 | 2006-09-19 | International Business Machines Corporation | Apparatus and method for generating graphic presentation of estimated time of completion of a server request |
US7480869B2 (en) * | 2003-10-31 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for displaying status of hierarchical operations |
JP2006309288A (ja) * | 2005-04-26 | 2006-11-09 | Sony Corp | ファイル管理装置、アクセス管理部、ファイル管理方法及びプログラム |
US7774322B2 (en) * | 2005-05-25 | 2010-08-10 | Microsoft Corporation | File transfer error handling |
KR20070089460A (ko) | 2006-02-28 | 2007-08-31 | 삼성전자주식회사 | 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법 |
US7930507B2 (en) | 2006-09-18 | 2011-04-19 | Sandisk Il Ltd. | Method of providing to a processor an estimated completion time of a storage operation |
JP4912158B2 (ja) * | 2007-01-06 | 2012-04-11 | 富士通株式会社 | 処理速度算出方法、算出装置及びプログラム |
US8122448B2 (en) | 2007-06-29 | 2012-02-21 | International Business Machines Corporation | Estimation method and system |
JP5052278B2 (ja) * | 2007-09-28 | 2012-10-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置を制御する装置及び方法 |
US8555206B2 (en) * | 2007-12-21 | 2013-10-08 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to present recipe progress status information |
KR20100018289A (ko) * | 2008-08-06 | 2010-02-17 | 삼성전자주식회사 | 멀티 태스킹 성능 예측 방법 및 시스템 |
US20100083159A1 (en) | 2008-09-30 | 2010-04-01 | Dale Llewelyn Mountain | Segmented progress indicator |
CN102084425A (zh) | 2008-10-01 | 2011-06-01 | 松下电器产业株式会社 | 再现装置 |
WO2011097328A2 (en) * | 2010-02-02 | 2011-08-11 | Webtrends Inc. | Method and system for test-duration estimation |
KR101710910B1 (ko) * | 2010-09-27 | 2017-03-13 | 삼성전자 주식회사 | 프로세싱 유닛의 동적 자원 할당을 위한 방법 및 장치 |
JP5439329B2 (ja) * | 2010-10-08 | 2014-03-12 | 株式会社日立製作所 | 計算機システム、ストレージ管理計算機及びストレージ管理方法 |
JP5609730B2 (ja) * | 2011-03-18 | 2014-10-22 | 富士通株式会社 | 情報処理プログラム及び方法、転送処理装置 |
CN102945200B (zh) * | 2012-08-20 | 2014-04-02 | 北京金山安全软件有限公司 | 充电剩余时间估计方法、装置及移动设备 |
US8977532B2 (en) | 2013-02-22 | 2015-03-10 | Microsoft Technology Licensing, Llc | Estimating time remaining for an operation |
-
2013
- 2013-02-22 US US13/774,901 patent/US8977532B2/en active Active
-
2014
- 2014-02-18 KR KR1020157026037A patent/KR102180450B1/ko active IP Right Grant
- 2014-02-18 EP EP14708394.3A patent/EP2959389A1/en not_active Ceased
- 2014-02-18 CN CN201480010027.7A patent/CN105144116B/zh active Active
- 2014-02-18 WO PCT/US2014/016746 patent/WO2014130401A1/en active Application Filing
- 2014-02-18 JP JP2015558900A patent/JP6309546B2/ja active Active
-
2015
- 2015-01-21 US US14/602,107 patent/US10048985B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275987B1 (en) | 1998-11-05 | 2001-08-14 | International Business Machines Corporation | Adaptive, predictive progress indicator |
US20100058120A1 (en) * | 2008-08-26 | 2010-03-04 | Microsoft Corporation | Dynamic Inline Sequence Interface |
Also Published As
Publication number | Publication date |
---|---|
US20140244979A1 (en) | 2014-08-28 |
US8977532B2 (en) | 2015-03-10 |
JP2016517058A (ja) | 2016-06-09 |
US10048985B2 (en) | 2018-08-14 |
CN105144116B (zh) | 2018-05-25 |
WO2014130401A1 (en) | 2014-08-28 |
KR20150121132A (ko) | 2015-10-28 |
CN105144116A (zh) | 2015-12-09 |
US20150135194A1 (en) | 2015-05-14 |
JP6309546B2 (ja) | 2018-04-11 |
EP2959389A1 (en) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102180450B1 (ko) | 작업에 대한 남은 시간 추정 | |
US10303457B2 (en) | Initiating update operations | |
US10956001B2 (en) | Progress bar updated based on crowd sourced statistics | |
US20210073034A1 (en) | Cloud resources management | |
US9519471B2 (en) | Surfacing visual representations of universal applications | |
WO2015066578A1 (en) | Sensor data time alignment | |
US8917277B2 (en) | Animation control device, animation control method, program, and integrated circuit | |
US20160269674A1 (en) | Dynamic Video Capture Rate Control | |
WO2015030916A1 (en) | Application resource utilizaton management | |
KR20140130680A (ko) | 차트 스케일링의 시각적 표현 기법 | |
US20150324188A1 (en) | Aggregation of Update Sets | |
US10656800B2 (en) | Visual configuration and activation | |
US20180249017A1 (en) | Data Usage Based Data Transfer Determination | |
US9288125B2 (en) | Application control of embedded web content execution | |
CN116320390A (zh) | 视频质量评估的方法、装置及电子设备 | |
US20180060093A1 (en) | Platform Support For User Education Elements | |
US8898571B2 (en) | GUI-base application system and method for displaying warnings of the same | |
US9613395B2 (en) | Operation chart rescaling | |
CN108280113B (zh) | Service Worker控制方法、装置及电子终端 | |
CN114640890B (zh) | 一种视频数据动态加载方法、装置、电子设备及存储介质 | |
CN107197351B (zh) | 流传输数字内容同步的方法及系统 | |
EP2908244A1 (en) | Signal processing arrangement | |
CN117762550A (zh) | 组态画面切换方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |