[go: up one dir, main page]

KR100934883B1 - 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리정보를 이용한 방법, 소프트웨어 및 장치 - Google Patents

애플리케이션의 재런칭시의 애플리케이션 상태 히스토리정보를 이용한 방법, 소프트웨어 및 장치 Download PDF

Info

Publication number
KR100934883B1
KR100934883B1 KR1020067027331A KR20067027331A KR100934883B1 KR 100934883 B1 KR100934883 B1 KR 100934883B1 KR 1020067027331 A KR1020067027331 A KR 1020067027331A KR 20067027331 A KR20067027331 A KR 20067027331A KR 100934883 B1 KR100934883 B1 KR 100934883B1
Authority
KR
South Korea
Prior art keywords
application
computing device
history information
information
state history
Prior art date
Application number
KR1020067027331A
Other languages
English (en)
Other versions
KR20070034523A (ko
Inventor
브라이언 해럴드 켈리
로버트 워커
마르크 에드워드 니담
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20070034523A publication Critical patent/KR20070034523A/ko
Application granted granted Critical
Publication of KR100934883B1 publication Critical patent/KR100934883B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

애플리케이션 상태 히스토리 정보를 저장하는 시스템은 컴퓨팅 장치상의 제 1 애플리케이션의 실행과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함한다. 애플리케이션 상태 히스토리 정보는 제 1 애플리케이션의 후속 재런치에서의 이용을 위해 저장된다.
애플리케이션 상태 히스토리 정보, 컴퓨팅 장치, 히스토리적 스냅-샷, 애플리케이션 식별 정보

Description

애플리케이션의 재런칭시의 애플리케이션 상태 히스토리 정보를 이용한 방법, 소프트웨어 및 장치{METHOD, SOFTWARE AND APPARATUS FOR USING APPLICATION STATE HISTORY INFORMATION WHEN RE-LAUNCHING APPLICATIONS}
배경
분야
본 발명은 일반적으로 소프트웨어 애플리케이션의 재런칭 (re-lauching) 에 관한 것이고, 보다 상세하게는, 다중 소프트웨어 애플리케이션의 제어된 재런칭에 관한 것이다.
배경
기술에서의 진보는 보다 소형이고 보다 강력한 개인용 컴퓨팅 장치를 발생시켰다. 예컨대, 현재 다양한 휴대용 무선 전화기, 개인 휴대 정보 단말기 (PDA), 및 소형이고, 경량이고, 유저에 의해 용이하게 운반될 수 있는 페이징 장치 (paging device) 가 존재한다. 통상적으로, 이들 장치는 심하게 자원 제약된다. 예컨대, 스크린 사이즈, 이용가능한 메모리 및 파일 시스템 공간의 양, 입력 및 출력 용량의 양 및 프로세싱 용량은 장치의 작은 사이즈에 의해 각각 한정될 수도 있다.
몇몇 장치 또는 플랫폼은 애플리케이션의 단일 인스턴스 (instance) 를 위해서만 허용된다. 이러한 경우에서, 애플리케이션의 하나의 버전만이 어떤 한 시간에 실행될 수도 있다. 이것은 어떤 한 시간에 실행될 수 있는 인스턴스의 수를 제한한다. 따라서, 하나의 인스턴스에 제한되는 현재 실행 애플리케이션을 재실행하는 시도에 응답하여, 애플리케이션의 현재의 버전은 종료되고 새로운 하나가 개시되어야 하거나, 재실행을 위한 요구는 현재 실행 버전이 실행을 계속하도록 허용되는 경우 거부되어야 한다.
몇몇 장치들은 다중 프레임이고 유저에게 디스플레이되는 바와 같이 다른 애플리케이션의 윈도우잉을 허용한다. 이들 장치는 통상적으로 단일 인스턴스로 애플리케이션을 제한하지 않는다. 이와 같이, 애플리케이션 자체가 하나의 인스턴스로 자신을 제한하지 않는 한, 장치는 시스템이 이러한 애플리케이션의 다중 인스턴스의 실행을 허용할 수 있게 한다. 이러한 시스템에 있어서, 어떤 하나의 특정 애플리케이션의 2개 이상의 인스턴스의 동시 활성 상태는 현재 실행되는 상태에서 이러한 각 애플리케이션을 유지하는데 필요로 되는 모든 시스템 자원을 요구한다. 다른 시스템들은 하나의 애플리케이션만이 현재 애플리케이션에 고려되거나, 다시 말해, 하나의 애플리케이션만이 현재 포커스를 갖도록 고려되는 단일 프레임 시스템이다. 현재 애플리케이션은 일반적으로 모든 유저 입력 및 출력 상호 작용을 수신하고 제공한다. 통상적으로, 이들 시스템은 시간의 어떤 한 포인트에서의 관련된 디스플레이상에 가시적인 단일 애플리케이션만을 갖는 것을 특징으로 한다. 현재 애플리케이션에 고려되는 애플리케이션과 새로운 현재 애플리케이션으로 타겟된 새로운 애플리케이션간에 트래버설 (traversal) 이 있을 때, 새로운 타겟 애플리케이션은 현재 애플리케이션이 되고 이러한 타겟 애플리케 이션은 대응하는 프레임을 채운다.
애플리케이션은 소정의 프레임에서 무엇이 가시적인지를 모드가 정의하는 다른 모드를 종종 갖는다. 몇몇 애플리케이션은 다수의 모드 중 어느 하나에서 개시될 수도 있는 반면에 다른 애플리케이션은 단일 모드 (단일 형태) 에서만 개시될 수도 있다. 이와 같이, 단일 형태의 애플리케이션은 동일한 단일의 소정의 상태에서 항상 실행을 개시한다. 즉, 애플리케이션이 런치될 때마다, 애플리케이션은 유저에게 동일 유저-인터페이스 (U/I) 스크린(들)을 디스플레이하고 동일 기능적 동작을 유저에게 제공한다. 예컨대, 컴퓨터 게임은 종종 단일 형태의 타입이 되도록 설계되고, 런치될 때, 이러한 애플리케이션은 게임의 동일한 스타트업 시점, 통상적으로 게임의 표준 개시 포인트를 유저에게 디스플레이한다. 대조적으로, 다중 형태의 애플리케이션은, 다중의 소정의 상태 중 어느 하나에서 실행을 개시할 수 있는 애플리케이션이다. 이와 같이, 이러한 애플리케이션이 런치될 때, 소망의 모드에 따라, 이러한 애플리케이션은 하나의 특정 소망의 모드 및 애플리케이션의 기능성을 유저에게 디스플레이한다. 예컨대, 몇몇 e-메일 프로그램은, 예컨대, 하나의 모드가 "구성" 모드이고, 반면에, 예컨대, 다른 모드가 "새로운 메일 판독" 모드인 다중 형태의 애플리케이션으로서 설계된다. 이와 같이, 런치될 때, e-메일 프로그램은 소정의 모드 중 하나에서 실행하도록 개시되어야 한다.
다중 형태의 애플리케이션이 임의의 환경에서와 같이 단일-인스턴스 환경에서 런치될 때, 이러한 애플리케이션은 소정의 다중 모드 중 하나에서 실행을 개시 하여야 한다. 그러나, 다른 모드로의 스위치가 단일 인스턴스 환경에서 요구될 때, 다중 형태의 애플리케이션은 새로운 모드에서 실행을 개시하도록 재런치되어야 한다. 재런치될 때, 이전 모드 정보는 손실되고 따라서 이러한 애플리케이션의 어떤 재실행 또는 재런칭이 검색될 수 없다. 이와 같이, 애플리케이션의 각각의 다른 모드는 그들 자신의 메모리, 파일 시스템 등의 소비를 요구하는 분리된 애플리케이션으로서 실재되어야 한다. 따라서, 다른 모드간의 스위치 이전에 소망의 애플리케이션이 실행될 수도 있더라도, 동일한 애플리케이션은 새로운 모드에서의 분리된 애플리케이션으로서 재실행되어야 한다. 애플리케이션을 셧다운하고 스타트업하는 프로세스는 각각 엄격한 자원 제약 장치에서 특히 제한된 자원의 상당한 이용을 요구한다.
몇몇 애플리케이션은 어떤 동적 애플리케이션 상태 정보가 이러한 애플리케이션의 유용성에 영향을 줄 수도 있는 다중 상태를 갖는 것으로 공지되어 있다. 애플리케이션 모드보다도, 이러한 정보는 유저 인터페이스 데이터 정보로서 언급될 수도 있다. 이러한 유저 인터페이스 데이터 정보는, 예컨대, 이러한 애플리케이션을 동작하는 유저에게 유용한 브라우저 애플리케이션으로부터의 프로그램 포워드 및 백 링크 정보를 포함할 수 있다. 브라우저가 이용되고 있고 포워드 및 백 링크의 수집이 발생되었을 경우, 및 그 후 새로운 브라우저 애플리케이션이 초기의 브라우저 애플리케이션 내로부터 실행되었을 경우, 새로운 브라우저 내의 동작은 어떤 포워드 및 백워드 링크 없이 개시하고, 유저가 초기 브라우저 애플리케이션에 대한 이전의 링크로 진행하기를 소망하는 경우에, 유저에게는 이러한 동작을 실행하기 위한 옵션이 제공되지 않을 것이다.
다른 애플리케이션을 런치하는 애플리케이션은 통상적으로 동작 능력이 한정되었다. 예컨대, 이전의 현재 애플리케이션에 의해 호출되는 애플리케이션이 종료될 때 이러한 시스템은 이전의 현재 애플리케이션으로의 백 트랙킹 (back tracking; 또는 재런칭) 을 제공하지 않는다. 유사하게, 현재 시스템은 이전의 현재 애플리케이션의 어떤 재런치에 대해 히스토리적 정보의 통과를 제공하지 않는다. 현재, 예컨대, 하나 이상의 e-메일 애플리케이션에 있어서, e-메일 애플리케이션이 "구성" 모드에서의 현재 애플리케이션으로서 현재 실행되는 경우, 그리고 이러한 모드에서 장치가 새로운 e-메일 메시지의 수령의 통지를 수신하는 동안, 새로운 e-메일 애플리케이션은 그 후 새로운 e-메일이 디스플레이되는 경우 실행된다. 또한, 하나 이상의 e-메일 애플리케이션에 있어서, 그리고 동일한 환경하에서, 새로운 모드에서의 애플리케이션의 실행 대신에 애플리케이션은 현재에 따른 현재 애플리케이션을 유지하고 e-메일 통지 메시지를 무시한다.
따라서, 재런치가 이러한 애플리케이션의 이전의 런치와 관련된 동일 모드 및/또는 상태 정보를 이용한 애플리케이션의 실행을 포함하도록 애플리케이션의 재런칭을 지원하는 장치 또는 플랫폼에 대한 필요성이 당업계에 존재한다. 또한, 애플리케이션의 어떤 추가의 인스턴스를 개시할 필요없이 다중-모드 애플리케이션의 재런칭을 지원하는 장치 또는 플랫폼에 대한 필요성이 당업계에 존재한다.
요약
여기에 개시된 실시형태는, 예컨대, 방법, 소프트웨어 및 장치가 애플리케이션 상태 히스토리 정보의 저장을 포함하는 컴퓨터 장치상의 애플리케이션을 제어하고 실행하는데 이용되는 하나 이상의 실시형태를 포함하여 상술된 요구를 다룬다. 애플리케이션 상태 히스토리 정보는 제 1 애플리케이션의 실행과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷 (snap-shot) 을 포함한다. 또한, 이러한 저장된 애플리케이션 상태 히스토리 정보는 제 1 애플리케이션의 후속 재런치에서의 이용을 위해 저장된다. 또한, 컴퓨팅 장치상의 제 2 애플리케이션의 런칭이 이러한 실시형태(들)에 포함된다.
하나 이상의 실시형태에 있어서, 방법, 소프트웨어 및 장치는 저장된 애플리케이션 상태 히스토리 정보를 검색하는데 이용된다. 애플리케이션 상태 히스토리 정보는 컴퓨팅 장치상에서 미리 실행되는 이전 제 1 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함한다. 또한, 실시형태(들)는 검색된 애플리케이션 상태 히스토리 정보를 이용하여 컴퓨팅 장치상에서 이전 제 1 애플리케이션을 재런치한다.
하나 이상의 실시형태에 있어서, 방법, 소프트웨어 및 장치는 제 1 애플리케이션과 관련된 애플리케이션 상태 히스토리 정보를 저장하는 동안 컴퓨팅 장치상에서 실행되는 제 1 애플리케이션을 퇴거하는데 이용된다. 제 2 애플리케이션은 제 1 애플리케이션 퇴거에 응답하여 런치된다. 또한, 제 2 애플리케이션은 퇴거된다. 제 1 애플리케이션과 관련된 저장된 애플리케이션 상태 히스토리 정보는 검색된다. 컴퓨팅 장치상의 제 1 애플리케이션은 제 2 애플리케이션 퇴거에 응답하여 재런치된다. 제 1 애플리케이션은 검색된 애플리케이션 상태 히스토리 정보를 이용하여 재런치된다.
하나 이상의 실시형태는 컴퓨팅 장치상에서 제 1 애플리케이션을 실행하는데 이용되는 방법, 소프트웨어 및 장치를 포함한다. 제 1 애플리케이션으로부터 제 2 애플리케이션으로 호출이 발생된다. 제 1 애플리케이션은 제 2 애플리케이션으로의 호출의 검출에 응답하여 퇴거된다. 제 1 애플리케이션과 관련된 애플리케이션 상태 히스토리 정보는 제 2 애플리케이션으로의 호출에 응답하여 저장된다. 또한, 제 2 애플리케이션은 제 2 애플리케이션으로의 호출에 응답하여 런치된다. 실시형태는 제 2 애플리케이션의 종료를 검출한다. 제 1 애플리케이션과 관련된 저장된 애플리케이션 상태 히스토리 정보는 제 2 애플리케이션의 종료 검출에 응답하여 검색된다. 실시형태(들)는 검색된 애플리케이션 상태 히스토리 정보를 이용하여, 제 2 애플리케이션의 종료 검출에 응답하여, 제 1 애플리케이션을 재런치한다.
하나 이상의 실시형태에 있어서, 메모리, 메모리에 저장되고 동적 애플리케이션 상태 정보를 발생시키도록 동작가능한 애플리케이션, 애플리케이션이 실행되는 메모리에 저장된 런타임 환경, 및 메모리에 결합되며 애플리케이션 상태 히스토리 정보를 저장하기 위한 코드를 실행하도록 동작가능한 프로세서를 이용한 방법, 소프트웨어 및 장치가 포함되고, 여기서 애플리케이션 상태 히스토리 정보는 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함한다. 동적 애플리케이션 상태 정보는 컴퓨팅 장치상에서 현재 실행되는 애플리케이션과 관련된다. 실시형태(들)에 있어서, 애플리케이션 상태 히스토리 정보는 컴퓨팅 장치상의 현재 실행되는 애플리케이션의 후속 재런치에 이용된다.
하나 이상의 실시형태는 메모리, 메모리에 저장되고 동적 애플리케이션 상태 정보를 발생시키도록 동작가능한 애플리케이션; 애플리케이션이 실행되는 런타임 환경, 및 메모리에 결합되고 저장된 애플리케이션 상태 히스토리 정보를 검색하기 위한 코드를 실행하도록 동작가능한 프로세서를 이용한 방법, 소프트웨어 및 장치를 포함한다. 애플리케이션 상태 히스토리 정보는 이전 타겟 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하고 여기서 이전 타겟 애플리케이션은 컴퓨팅 장치상에서 이전에 실행된다.
하나 이상의 실시형태의 하나 이상의 이점은 이전 모드 및/또는 상태에서 이전에 실행된 애플리케이션으로 역으로 퇴거하는 기능을 지원하기 위한 능력의 제공을 포함한다. 또한, 하나 이상의 실시형태의 하나 이상의 이점은 동일한 애플리케이션의 재런치를 시도할 때 프로그램을 현재 구동하는 능동적 실행을 유지하는 능력의 제공을 포함한다. 하나 이상의 실시형태의 하나 이상의 이점은 다른 모드를 이용한 동일 애플리케이션으로의 이후의 호출에 대해 다중-모드 애플리케이션의 단일 인스턴스만을 유지하는 능력의 제공을 포함한다. 하나 이상의 실시형태의 하나 이상의 이점은 애플리케이션의 실행을 개시하지 않고 이전 실행 애플리케이션으로 역으로 퇴거하게 하는 장치의 능력으로, 더 양호한 유저 경험 제공뿐만 아니라, 메모리 및 프로세서 자원의 저장을 포함한다.
본 발명의 다른 양태, 이점, 및 특징은 하기의 섹션: 도면의 간략한 설명, 상세한 설명, 및 청구항을 포함하는 전체 애플리케이션을 재검토한 후 자명해질 것이다.
도면의 간략한 설명
여기에 설명된 실시형태의 전술한 양태 및 부수하는 이점은 첨부한 도면과 함께 하기의 상세한 설명을 참조함으로써 보다 쉽게 자명해질 것이다.
도 1은 애플리케이션 상태 히스토리 정보를 이용하여 애플리케이션을 실행하는 컴퓨팅 장치의 일 실시형태를 도시한다.
도 2는 애플리케이션 상태 히스토리 정보를 이용하여 컴퓨팅 장치상에서 애플리케이션을 실행하는 방법을 반영한 플로우챠트의 일 실시형태를 도시한다.
도 3은 예시적인 동적 애플리케이션 상태 정보의 단계적인 컨텐츠를 포함하는 컴퓨터 장치상에서 애플리케이션을 실행하는 방법을 반영한 데이터 표의 일 실시형태를 도시한다.
도 4는 애플리케이션 상태 히스토리 정보의 저장 및 제 2 애플리케이션의 런칭을 포함하는 컴퓨팅 장치상에서 애플리케이션을 실행하는 방법의 일 실시형태를 도시한다.
도 5는 애플리케이션 상태 히스토리 정보의 검색 및 이전 제 1 애플리케이션의 재런칭을 포함하는 컴퓨팅 장치상에서 애플리케이션을 실행하는 방법의 일 실시형태를 도시한다.
도 6은 애플리케이션 상태 히스토리 정보를 이용하여 컴퓨팅 장치상에서 애플리케이션을 실행하는 방법의 일 실시형태를 도시한다.
도 7은 애플리케이션 상태 히스토리 정보를 이용하여 컴퓨팅 장치상에서 애플리케이션을 실행하는 방법의 일 실시형태를 도시한다.
상세한 설명
용어 "예시적인"은 여기서 "예, 예시, 또는 예증으로서 제공되는"의 의미로 사용된다. "예시적인"으로서 여기에 설명된 어떤 실시형태가 다른 실시형태 이상으로 바람직하거나 이점이 있는 것으로서 반드시 해석되지 않는다.
하기의 상세한 설명은 애플리케이션 상태 히스토리 정보를 이용하여 컴퓨팅 장치상에서 애플리케이션의 실행을 제어하는 방법, 소프트웨어 및 장치를 포함하는, 컴퓨팅 장치상에서 애플리케이션을 실행하는데 이용되는 방법, 소프트웨어 및 장치를 설명한다. 하나 이상의 실시형태에 있어서, 이 컴퓨팅 장치는 내장된 제어기 및 한정된 자원 (즉, 한정된 메모리 용량, 디스플레이 영역 및 파일 시스템 공간) 을 갖고, 이 컴퓨팅 장치는 상주하는 애플리케이션의 실행을 제어하는데 있에서 애플리케이션 상태 히스토리 정보를 이용하도록 동작한다
하나 이상의 실시형태에 있어서, 컴퓨팅 장치상에서 애플리케이션을 실행하기 위해 이용되는 시스템은 장치 특정 자원에 일반화된 호출을 제공하는 것과 같은, 장치의 동작을 단순화하기 위해 이용되는 컴퓨팅 장치상의 런타임 환경 실행과 상호 작용한다. 하나의 이러한 런타임 환경은 QUALCOMM, Inc., of San Diego, California에 의해 개발된 Binary Runtime Enviroment for Wireless® (BREWTM) 소프트웨어 플랫폼이다. 하기의 설명에 있어서, 컴퓨팅 장치상에서 애플리케이션을 실행하기 위해 이용되는 시스템은 BREW 소프트웨어 플랫폼과 같은 런타임 환경을 실행하는 휴대용 장치상에서 구현된다고 가정한다. 그러나, 컴퓨팅 장치상에서 애플리케이션을 실행하는데 이용되는 시스템의 하나 이상의 실시형태는 컴퓨팅 장치상의 애플리케이션의 실행을 제어하는 다른 타입의 런타임 환경과의 이용에 적합하다.
도 1은 컴퓨팅 장치 (100) 의 하나의 예시적인 실시형태를 예시한다. 여기에 이용되는 바와 같은 "컴퓨팅 장치"는: 마이크로프로세서, 디지털 신호 프로세서 (DSP), 마이크로제어기, 휴대용 무선 전화기, 개인 휴대 정보 단말기 (PDA), 및 페이징 장치와 같은 메모리에 저장되는 소프트웨어 모듈을 실행하는 하나 이상의 프로세싱 회로, 또는 하드웨어, 메모리에 저장된 소프트웨어 및/또는 애플리케이션이 유지되는 펌웨어의 임의의 적합한 조합을 포함한다. 이 장치는 메모리 (102), 네트워크 I/O 인터페이스 (104), 유저 I/O 인터페이스 (106), 프로세서 (108) 및 버스 (110) 를 포함한다. RAM의 하나의 연속되는 유닛으로서 메모리 (102) 가 도시되었지만, 다른 실시형태는 메모리 (102) 로서 메모리의 다중 위치 및 다중 타입을 이용한다. 네트워크 I/O 인터페이스 (104) 는 버스 (110) 를 통하여 네트워크로 접속된 모든 장치로의 입력 및 출력을 제공한다. 유저 I/O 인터페이스 (106) 는 컴퓨팅 장치 (100) 의 유저로의 입력 및 출력을 제공한다. 프로세서 (108) 는 버스 (110) 를 통하여 제공되는 명령 및 데이터에 대해 동작한다.
메모리 (102) 내에 제 1 애플리케이션 (112), 제 2 애플리케이션 (114), 런타임 환경 (116), 동적 애플리케이션 상태 정보 (118) 및 애플리케이션 상태 히스토리적 정보 (120) 가 위치한다. 제 1 애플리케이션 (112) 및 제 2 애플리케이션 (114) 은 컴퓨팅 장치 (100) 와 호환가능하고 런타임 환경 (116) 과 상호 작용할 수 있는 임의의 애플리케이션을 나타낸다. 상술된 바와 같이, 런타임 환경 (116) 은 장치 특정 자원에 일반화된 호출을 제공하는 것과 같은, 장치의 동작을 단순화하는 컴퓨팅 장치상에서 실행된다. 나타낸 런타임 환경은 BREWTM이지만, 유사한 기능성을 제공하는 다른 런타임 환경 (116) 이 다른 예시적인 실시형태에서 이용된다.
동적 애플리케이션 상태 정보 (118) 는 이러한 장치상에서 애플리케이션을 실행할 때 이용되는 정보의 모두 또는 일부를 포함한다. 동적 애플리케이션 상태 정보 (118) 는 애플리케이션의 실행 중에 업데이트되거나 변화될 수 있는 데이터이다. 이러한 동적 애플리케이션 상태 정보 (118) 는 특정 애플리케이션 식별자, 애플리케이션 모드 정보, 유저 인터페이스 데이터 정보, 및 다른 저장 데이터 구조뿐만 아니라 변수, 레지스터에 저장될 수도 있는 다른 유사 정보 중 임의의 하나 이상을 포함할 수도 있다.
애플리케이션 식별자는 특정 애플리케이션을 유일하게 식별하는 정보를 포함한다. 따라서, 통상적으로 각 애플리케이션 식별자는 유일한 애플리케이션 코드의 세트를 나타낼 것이다. 그러나, 하나의 예시적인 실시형태에 있어서, 동일한 코드를 갖는 애플리케이션에는 분리된 애플리케이션 식별자가 주어져 이 애플리케이션은 시스템에 의해 전체적으로 서로 관련되지 않은 것으로서 취급된다.
애플리케이션 모드 정보는, 예컨대, 동일 애플리케이션 (예컨대, 구성 모드, 및 e-메일 프로그램의 새로운 메일 판독 모드) 의 상이한 및 별개의 기능성의 양태를 나타내고, 여기서 애플리케이션의 디스플레이 및/또는 기능적 동작은 동일 애플리케이션의 다른 부분 사이에서 상당히 다르다. 이전 애플리케이션 모드는, 예컨대, 제 1 애플리케이션 (112) 으로부터 제 2 애플리케이션 (114) 으로의 호출에 기인하거나 이를 예상하고 이전에 보류되어 온 애플리케이션 모드이다. 통상적으로, 이전 모드 컨텐츠는 제 2 애플리케이션으로부터의 복귀시에 제 1 애플리케이션의 후속 재런치에 대해 이용되는 애플리케이션 히스토리에 저장된다.
유저 인터페이스 데이터 정보는, 예컨대, 잠재적 실행에 영향을 주는 애플리케이션에 의해 발생되거나 이용되는 대부분의 임의의 데이터를 나타낸다. 상대적으로 중요한 유저 인터페이스 데이터 정보의 일 예는 브라우저 애플리케이션에 의해 이전에 방문된 웹 페이지를 나타내는 링크의 리스트를 포함하는 브라우저 애플리케이션과 관련하여 저장되는 정보를 포함한다. 이러한 정보는 프로그램의 이용에 상당히 영향을 주는 점에서 상대적으로 중요하고, 예컨대, 포워드 및 백워드 링크는 상대적으로 중용되고, 대부분의 브라우저에 기인하는 상대적으로 매우 중요한 특성으로 일반적으로 공지되어 있다. 유저 인터페이스 데이터 정보의 또 다른 예는 리스트 위치 마커 (list location marker) 를 포함하여 애플리케이션이 동일한 리스트를 디스플레이하면서, 리스트 내의 동일 위치에서 재시작될 수도 있다. 이와 같이, 유저 인터페이스 데이터 정보는 애플리케이션 퇴거시에 손실될 것이고 대응하는 애플리케이션의 재실행시에 자동적으로 로딩되는 것으로 바람직하게 판단될 수 있는 어떤 다양한 정보를 포함할 수도 있다.
애플리케이션 상태 히스토리적 정보 (120) 는 동적 애플리케이션 상태 정보 (118) 에서 이용가능한 타입의 정보를 포함한다. 이와 같이, 애플리케이션 상태 히스토리 정보 (120) 는 특정한 이른 시점에 제공될 때의 동적 애플리케이션 상태 정보 (118) 를 나타낸다. 이와 같이, 애플리케이션 상태 히스토리 정보 (118) 는 이전의 시점으로부터 오래된 동적 애플리케이션 상태 정보 (118) 를 반영한다. 이러한 정보가 히스토리적이지만, 이러한 정보가 장치의 현재 상태와 동일하지 않다는 것을 의미하지 않고, 장치가 이러한 값을 변화시키는데 일반적으로 프리했던 이전 시간에서의 동적 애플리케이션 상태 정보 (118) 의 상태를 반영하는 히스토리적 스냅-샷을 단순히 나타낸다.
도시한 바와 같이, 제 1 애플리케이션 (112), 제 2 애플리케이션 (114) 및 런타임 환경 (116) 은 애플리케이션 상태 히스토리 정보 (120) 를 저장하는 코드 (122) 및 애플리케이션 상태 히스토리 정보 (120) 를 검색하는 코드 (124) 모두를 포함하는 코드의 선택적 세트를 각각 포함한다. 이러한 코드가 이러한 애플리케이션 및 런타임 환경의 각각에서 선택적으로 존재하는 것으로 나타나지만, 다수의 예시적인 실시형태는 이러한 애플리케이션 및 런타임 환경에 걸친 임의의 조합에 이러한 코드를 위치시키는 것을 포함한다. 예컨대, 일 실시형태에 있어서, 런타임 환경 (116) 은 제 1 및 제 2 애플리케이션 (112 및 114) 모두로부터 애플리케이션 상태 히스토리 정보 (120) 를 저장하는 코드 (122) 및 애플리케이션 상태 히스토리 정보 (120) 를 검색하는 코드 (124) 모두에 의해 호출되는 모듈을 포함한다. 통상적으로, 중요한 것은 코드가 하나 이상의 위치에 존재하고 이러한 코드가 저장 및 검색 모두를 실행하여 애플리케이션 상태 히스토리 정보 (120) 가 이전 실행 애플리케이션의 재실행을 제어하는데 이용될 수 있다는 것이다.
마지막으로, 현재 애플리케이션 표시자 (126) 및 이전 현재 애플리케이션 표시자 (127) 를 또한 도시하였다. 대응하는 시간 프레임에서, 예컨대, 제 2 애플리케이션이 현재인 반면에 제 1 애플리케이션은 이전 현재 애플리케이션이다. 상기 논의된 바와 같이, 컴퓨팅 장치 (100) 가 하나의 애플리케이션만이 임의의 시점에서 현재이도록 허용하기 때문에, 하나의 애플리케이션 (즉, 제 2 애플리케이션 (114)) 만이 임의의 하나의 시점에서 현재 애플리케이션인 것으로서 정확히 표시될 수 있다.
도 2는 컴퓨팅 장치상에서 애플리케이션을 실행하는 플로우챠트의 하나의 예시적인 실시형태 (200) 를 예시한다. 상세하게는, 도 2는 이러한 애플리케이션의 실행에서의 애플리케이션 상태 히스토리 정보 (120) 의 이용을 설명한다. 프로세스는 애플리케이션의 초기 실행이 시작되는 단계 (202) 에서 시작된다. 일반적으로, 애플리케이션의 초기 실행은 이러한 애플리케이션의 업커밍 (upcoming) 호출 또는 애플리케이션 자체 내에서의 명령의 실제 실행의 검출이 되도록 고려될 수도 있다.
단계 (206) 에서의 실행 타입의 검출이 단계 (202) 에서의 애플리케이션의 초기 실행에 후속한다. 여기서, 실행이 "런치" 인지 "재런치" 인지에 관한 결정이 이루어지고, 여기서 "런치"는 아직 퇴거되지 않은 애플리케이션으로의 초기의 호출을 나타내고, "재런치"는 이후에 퇴거된 프로그램으로부터 퇴거로부터의 복귀에 기초하여 애플리케이션으로의 이후의 호출을 나타낸다. 즉, 이전의 애플리케이션으로부터 역방향 복귀에 기인하여 애플리케이션으로의 호출이 발생하면, 이러한 동작은 "재런치"인 반면에 또 다른 애플리케이션으로부터의 순방향 호출은 "런치"를 나타낸다.
런치가 검출되면 그 후 프로세스는 단계 (208) 에서 동적 애플리케이션 상태 정보 (118) 를 계속 설정하여 디폴트 설정을 초기화한다. 여기서, 데이터 애플리케이션은 이러한 애플리케이션의 임의의 이전의 상태 히스토리를 반영하지 않는 초기의 상태로부터 시작하도록 설정된다. 그러나, 재런치가 검출되면 애플리케이션이 이전에 퇴거될 때 제공되고 설정을 반영하는 애플리케이션의 이전의 상태로 애플리케이션이 초기화되도록, 프로세스는 단계 210에서 대응하는 애플리케이션 상태 히스토리 정보 (120) 로 동적 애플리케이션 상태 정보 (118) 를 계속 설정한다. 그러나, 다른 실시형태는 재런치시에, 애플리케이션이 초기의 설정으로 항상 초기화될 때와 같이, 애플리케이션의 이른 퇴거시에 제공되는 것 이외의 데이터로 동적 애플리케이션 상태 정보 (118) 를 할당하거나 설정한다. 단계 (212) 에서의 애플리케이션의 지속적인 실행 단계가 런치 또는 재런치 단계 (208 및 210) 에 후속한다.
애플리케이션이 단계 (214) 에서 애플리케이션의 실행 상태의 임박한 (impending) 손실을 검출하거나 단계 (218) 에서 애플리케이션의 종료를 검출하도록 모니터링되는 동안, 애플리케이션은 단계 (212) 에서 실행을 계속한다. 런치 또는 재런치의 검출과 유사하게, 이러한 검출은 애플리케이션 자체 내에서 또는 그것의 외부에서 발생할 수 있다. 일 실시형태에 있어서, 실행 상태의 임박한 손실의 검출은 또 다른 애플리케이션에 호출을 인보크 (invoke) 하는 호출-타입의 커맨드와 관련된 컴퓨터 명령을 통하여 검출된다. 또 다른 실시형태에서, 검출은 런타임 환경 또는 호출된 애플리케이션과 같은 현재 애플리케이션의 외부 또는 다른 유사한 위치에서 발생한다. 또한, 일 실시형태는 애플리케이션 내의 퇴거-타입 명령과 관련된 코드를 통하여 애플리케이션의 종료를 검출한다. 그러나, 다른 실시형태는 런타임 환경 또는 복귀된 애플리케이션 또는 다른 유사한 위치에서 이러한 종료를 검출한다. 일 실시형태에 있어서, 시스템은 실행 상태의 임박한 손실을 애플리케이션에 통지한다.
단계 (214) 에서 실행 상태의 임박한 손실의 검출이 있으면, 동적 애플리케이션 상태 정보 (118) 는 단계 (216) 에서 애플리케이션 상태 히스토리 정보 (120) 에 저장된다. 단계 (220) 에서의 프로세스의 종료가 단계 (216) 에서의 이러한 동적 애플리케이션 상태 정보 (118) 의 저장 또는 단계 (218) 에서의 애플리케이션 종료의 검출에 후속한다.
도 3은 애플리케이션 호출과 시스템 관련 정보간의 상호관계를 디스플레이하는 테이블의 형태의 컴퓨팅 장치 (100) 의 하나의 예시적인 실시형태 (300) 를 예시한다. 시스템 관련 정보를 4개의 컬럼으로 도시하였고, 컬럼 1은 관련 애플리케이션 모드 (304) 를 갖는 애플리케이션 실행 시퀸스 (302) 이고, 컬럼 2는 현재 실행 애플리케이션 (306) 및 대응하는 애플리케이션 모드 (304) 이고, 컬럼 3은 활성 인스턴스 (308) 이고, 컬럼 4는 이전 타겟 애플리케이션 (312), 이른 타겟 애플리케이션, 이전 모드 정보 및 이전 유저 인터페이스 데이터 정보 (318) 를 포함하는 애플리케이션 상태 히스토리 정보 (120) 이다. 또한, 테이블의 로우는 다른 타겟 애플리케이션 (340,342,344 및 346) 으로 및 으로부터의 다른 애플리케이션 호출 및 복귀 (320,322,324,326,328,330,332,334,336 및 338) 또는 런치 및 재런치에 대응하는 다른 상태를 반영한다.
도시한 바와 같이, 프로세스는 e-메일 애플리케이션 (340) 으로의 호출이 "구성" 모드 (350) 에서 개시되는 노드 (348) 에서 시작한다. 그 결과, 현재 실행 애플리케이션 (306) 은 e-메일 애플리케이션 (340) 이 되고 현재 애플리케이션 모드 (304) 는 "구성" 모드 (350) 가 된다. 활성 인스턴스 (308) 는 이제 e-메일 애플리케이션 (340) 을 포함하는 반면에 애플리케이션 상태 히스토리 정보 (120) 는 빈 공간으로 남는다.
다음으로, 현재 실행 애플리케이션 (306; e-메일 (340)) 은 e-메일 애플리케이션 (340) 의 동일한 타겟 애플리케이션이지만 "새로운 메일 판독" (352) 의 새로운 모드를 갖는 호출 (322) 을 런치한다. 이것은, 예컨대, 유저가 전송될 새로운 e-메일을 구성하려고 시도하지만, 이러한 프로세스에서 그 후 새로운 메일 메시지를 수신할 때 발생한다. 일 실시형태에 있어서, 시스템은 동일한 애플리케이션으로의 호출을 검출하고, 이에 응답하여, 현재 실행 애플리케이션 (306) 으로서 e-메일 애플리케이션 (340) 을 유지한다. 그 결과, 활성 인스턴스 (308) 만이 이전 e-메일 애플리케이션 (340) 으로서 남는다. 그러나, "구성" 모드 (350) 에서의 e-메일 애플리케이션 (340) 의 퇴거에 의해, 시스템은 애플리케이션 모드 ("구성" (350)) 에 의해서 뿐만 아니라 애플리케이션 식별자 (e-메일 애플리케이션 (340)) 에 의해 애플리케이션 상태 히스토리 정보 (120) 를 업데이트한다.
다음으로, 현재 실행 애플리케이션 (306; e-메일 애플리케이션 (340)) 은 호출 (324) 을 형성하여 타겟 애플리케이션 (게임 애플리케이션 (342)) 을 런치한다. 예컨대, 새로운 메일 판독 모드 (352) 동안에, e-메일 애플리케이션 (340) 이 게임 애플리케이션 (342) 으로의 링크를 포함하는 e-메일 메시지를 디스플레이하는 경우, 및 유저가 그 후 게임 애플리케이션 (342) 의 실행을 선택하는 경우, 이것은 발생할 수 있다. 이에 응답하여, 게임 애플리케이션 (342) 에 대한 새로운 활성 인스턴스가 e-메일 애플리케이션 (340) 에 대한 이전의 활성 인스턴스에 추가된다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 이전 모드 정보 ("새로운 메일 판독" (352)) 뿐만 아니라 이전 타겟 애플리케이션 (312; e-메일 애플리케이션 (340)) 과 있게 된다.
게임 애플리케이션 (342) 을 실행하는 동안, 유저는, 예컨대, 현재 게임 애플리케이션 (342) 의 실행을 취소하도록 요구하고, 그 결과, 호출 (326) 은 이전 모드 정보 (316; "새로운 메일 판독" (352)) 를 이용하여 이전 타겟 애플리케이션 (312; e-메일 애플리케이션 (340)) 을 재런치하도록 실행된다. 현재 실행 애플리케이션 (306) 은 "새로운 메일 판독" (352) 의 현재 모드를 갖는 e-메일 애플리케이션 (340) 으로 설정된다. 게임 애플리케이션 (342) 은 활성 인스턴스 (308) 에 따라 제거되어 단지 현재 활성 인스턴스 (308) 에 따라 e-메일 애플리케이션 (340) 을 남긴다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 이전 모드 정보 (316; "새로운 메일 판독") 를 포함하는 이전 타겟 애플리케이션 (312; e-메일) 의 제거에 의해 업데이트된다.
다음으로, "새로운 메일 판독" 모드 (352) 에서의 e-메일 애플리케이션 (340) 의 이전에, 유저는, 예컨대, 브라우저 애플리케이션 (344) 에 대해 실행가능 아이콘을 포함하는 e-메일 판독을 선택할 수도 있다. 그 후, 유저는 예컨대, 브라우저 애플리케이션 (344) 에 링크를 실행하여 그 실행을 시작할 수도 있다. 일 실시형태에 있어서, 예컨대, 실행시에, 브라우저는 브라우저 e-메일 페이지의 디폴트 홈 애플리케이션에 의해 그 자체를 초기화한다. 현재 실행 애플리케이션 (306) 은 브라우저 애플리케이션 (344) 이 되고, 활성 인스턴스 (308) 는 확대되어 브라우저 애플리케이션 (344) 을 포함한다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 "새로운 메일 판독" (352) 의 애플리케이션 모드에 따라 e-메일 애플리케이션 (340) 에 대한 새로운 엔트리를 포함하도록 업데이트된다.
일 실시형태에 있어서, 브라우저 애플리케이션 (344) 은 e-메일 페이지를 실행하고, 여기서 유저는 워드 프로세서 문서를 포함하는 e-메일을 판독한다. 그 후 유저는 문서를 개방할 수도 있고, 이렇게 하여, 관련된 워드 프로세서 애플리케이션 (346) 이 실행을 시작할 수도 있는 타겟 애플리케이션 (330) 에 런치를 개시한다. 개시될 때, 활성 인스턴스 (308) 는 워드 프로세서 애플리케이션 (346) 의 새로운 엔트리를 수신한다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 브라우저 e-메일 페이지 (354) 및 브라우저 애플리케이션 (344) 과 관련된 백워드 및 포워드 링크 (356) 를 식별하는 정보를 포함하는 유저 인터페이스 데이터 정보에 따라 브라우저 애플리케이션 (344) 에 대한 새로운 엔트리를 포함하도록 업데이트된다.
워드 프로세서 애플리케이션 (346) 내로부터 동작하면서, 퇴거가 시스템에 의해 검출된다. 퇴거를 검출하면서, 시스템은 이전 유저 인터페이스 데이터 정보 (318) 를 이용하여 (브라우저 애플리케이션 (344) 으로의 참조를 포함하는) 이전 타겟 애플리케이션 (312) 을 재런치하는 복귀 호출 (332) 을 실행하여, 브라우저 e-메일 페이지 (354) 인 웹 페이지로 브라우저 애플리케이션 (344) 이 실행 및 초기화되고, 여기서 관련된 브라우저 링크는 이전에 저장된 대응하는 백워드 및 포워드 링크 (356) 로 설정된다. 현재 실행 애플리케이션 (306) 은 브라우저 애플리케이션 (344) 이 된다. 현재 활성 인스턴스 (308) 는 제거되는 워드 프로세싱 애플리케이션 (346) 을 갖는다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 이전 U/I 데이터 정보 (318; 브라우저 e-메일 페이지 & 백워드 및 포워드 링크) 를 포함하는 이전 타겟 애플리케이션 (312; 브라우저) 의 제거에 의해 업데이트된다.
이제 브라우저 애플리케이션 (344) 을 실행하여, 시스템은 그것으로부터 퇴거를 검출할 수도 있다. 퇴거를 검출하여, 시스템은 이전 모드 정보 (316) 를 이용하여 (e-메일 애플리케이션 (340) 으로의 참조를 현재 포함하는) 이전 타겟 애플리케이션 (312) 을 재런치하는 복귀 호출 (334) 을 실행하여, e-메일 애플리케이션 (340) 은 "새로운 메일 판독" 모드 (352) 에서 실행된다. 현재 실행되는 애플리케이션 (306) 은 e-메일 애플리케이션 (340) 이 된다. 그 후 현재 활성 인스턴스 (308) 는 브라우저 애플리케이션 (346) 의 제거를 경험한다. 또한, 애플리케이션 상태 히스토리 정보 (120) 는 이전 타겟 애플리케이션 (312) 의 제거에 의해 업데이트된다.
e-메일 애플리케이션 (340) 을 실행하여, 시스템은 그것으로부터 퇴거를 검출할 수도 있다. 퇴거를 검출하여, 시스템은 이전 모드 정보 (316) 를 이용하여 (e-메일 애플리케이션 (340) 으로의 참조를 현재 포함하는) 이전 타겟 애플리케이션 (312) 을 재런치하는 복귀 호출 (336) 을 실행하여, e-메일 애플리케이션 (340) 은 "구성" 모드 (352) 에서 재런치된다. 일 실시형태에 있어서, 시스템은 동일한 애플리케이션의 재런치가 시도될 때 현재 실행 애플리케이션으로서 e-메일 애플리케이션을 검출하고, 이에 응답하여, 새로운 모드 정보를 애플리케이션으로 단순히 통과시키면서 현재와 같이 이러한 애플리케이션을 유지한다. 현재 실행 애플리케이션 (306) 은 e-메일 애플리케이션 (340) 을 유지하지만, 이제 "구성" 의 애플리케이션 모드 (350) 를 갖는다. 현재 활성 인스턴스는 변화되지 않고 유지된다. 애플리케이션 상태 히스토리 정보 (120) 는 그 최종 이전 타겟 애플리케이션 (312) 엔트리의 제거에 의해 업데이트된다.
결국, e-메일 애플리케이션 (340) 의 실행 동안, 시스템은 그것으로부터의 최종의 퇴거를 검출할 수도 있다. 퇴거를 검출하여, 시스템은 노드 (358) 에서 일련의 네스트 (nest) 된 애플리케이션 호출을 종료시키는 퇴거 (338) 를 실행한다. 시스템은 적어도, 애플리케이션 상태 히스토리 정보가 어떤 추가적인 엔트리에도 부재하므로 네스트된 호출의 종료를 감지한다. 최종의 애플리케이션 퇴거시에, 현재 실행 애플리케이션 (306) 은 있지 않고, 어떤 활성 인스턴스 (308) 도 있지 않다.
도 3에 도시되지 않았지만, 하나의 예시적인 실시형태는 단순히 이전 또는 단순히 다음 애플리케이션에 한정되지 않는 애플리케이션 런치 및 재런치를 제공한다. 예컨대, 일 실시형태에 있어서 애플리케이션 및 대응하는 애플리케이션 상태 히스토리 정보 (120) 의 전체 리스트는 애플리케이션이 나타나는 리스트 내의 위치에 관계 없이 선택되도록 유저에게 이용가능하다.
도 4는 컴퓨팅 장치 (100) 상의 애플리케이션의 실행 방법의 하나의 예시적인 실시형태 (400) 를 예시한다. 상세하게는, 도 4는 노드 (402) 에서의 시작 후, 단계 (404) 가 실행되는 방법을 설명하고 여기서 방법은 제 1 애플리케이션 (112) 의 후속 재런치에서의 이용을 위해, 컴퓨팅 장치 (100) 상의 제 1 애플리케이션 (112) 의 실행과 관련된 동적 애플리케이션 상태 정보 (118) 의 히스토리적 스냅-샷을 포함하는, 애플리케이션 상태 히스토리 정보 (120) 를 저장한다. 단계 (404) 이후에 방법이 컴퓨팅 장치 (100) 상의 제 2 애플리케이션 (114) 을 런치하는 단계 (406) 가 도시되어 있다. 제 2 단계 이후에는 종료 노드 (408) 에 의해 지시된 방법의 종료가 있다.
또한, 도 4는 다수의 선택적 기준 및 단계 (408,410,412,414,416,418,420,422,424,426 및 428) 를 도시한다. 상세하게는, 선택적 기준 및 단계 (408,410,412,414 및 416) 는 각각 단계 (404) 를 변경하고 나머지 선택적 기준 및 단계는 단계 (406) 를 변경한다. 우선, 단계 (404) 는 제 2 애플리케이션 (114) 의 런치에 따라 저장하도록 선택적으로 변경된다 (408). 단계 (404) 는 애플리케이션 상태 히스토리 정보 (120) 가 유일한 기능 모드 관련 정보의 히스토리적 스냅-샷을 포함하는 모드 정보 (416) 를 포함하도록 또한 선택적으로 변경된다 (410). 단계 (404) 는 애플리케이션 상태 히스토리 정보 (120) 가 동적 유저 인터페이스 데이터 관련 정보 (118) 의 히스토리적 스냅-샷을 포함하는 유저 인터페이스 데이터 정보 (418) 를 포함하도록 또한 선택적으로 변경된다 (412). 단계 (404) 는 애플리케이션 상태 히스토리 정보 (120) 가 다른 애플리케이션에 관하여 관련된 애플리케이션의 시퀸스의 순서를 나타내도록 또한 선택적으로 변경된다 (414). 단계 (404) 는 여기서 컴퓨팅 장치 (100) 가 무선 장치이도록 또한 선택적으로 변경된다 (416).
단계 (406) 는 애플리케이션의 실행 개시를 추가로 배제하도록 또한 선택적으로 변경된다 (418). 단계 (406) 는 컴퓨팅 장치 (100) 상의 제 1 애플리케이션의 실행을 선택적으로 유지하도록 또한 선택적으로 변경된다 (420). 단계 (406) 는 제 1 애플리케이션 (112) 과 관련된 애플리케이션 상태 히스토리 정보와 제 2 애플리케이션 (114) 과 관련된 정보간의 매칭 정보를 검출하도록 또한 선택적으로 변경된다 (420 & 422). 단계 (406) 는 여기서 매칭 정보는 애플리케이션 식별 정보이도록 또한 선택적으로 변경된다 (420, 422 & 424). 단계 (406) 는 제 1 애플리케이션 (112) 에 대한 실행 상태의 다가올 손실의 검출에 따라 런치하도록 또한 선택적으로 변경된다 (426). 단계 (406) 는 런치가 제 1 애플리케이션에 의해 개시되도록 또한 선택적으로 변경된다 (428).
도 5는 컴퓨팅 장치 (100) 상의 애플리케이션 실행 방법의 하나의 예시적인 실시형태 (500) 를 예시한다. 상세하게는, 도 5는 노드 (502) 에서의 시작 후, 단계 (504) 가 컴퓨팅 장치 (100) 상의 이전에 실행하는 이전 제 1 애플리케이션 (112) 과 관련된 동적 애플리케이션 상태 정보 (118) 의 히스토리적 스냅-샷을 포함하는 저장된 애플리케이션 상태 히스토리 정보 (120) 를 검색하도록 실행되는 방법을 설명한다, 단계 (504) 이후에는 방법이 검색된 애플리케이션 상태 히스토리 정보 (118) 를 이용하여 컴퓨팅 장치 (100) 상에서 이전 제 1 애플리케이션 (112) 을 재런치하는 단계 (506) 가 있다. 제 2 단계 이후에는 종료 노드 (508) 로 지시된 방법의 종료가 있다.
도 5는 또한, 다수의 선택적 기준 및 단계 (508,510,512,514,516,518,520,522,524,526 및 528) 를 또한 도시한다. 상세하게는, 선택적 기준 및 단계 (508,510,512,514,516 및 518) 는 각각 단계 (504) 를 변경하고 나머지 선택적 기준 및 단계는 단계를 (506) 를 변경한다. 우선, 단계 (504) 는 애플리케이션 상태 히스토리 정보 (120) 가 유일한 기능 모드 관련 정보의 히스토리적 스냅-샷을 포함하는 모드 정보 (304) 를 포함하도록 선택적으로 변경된다 (510). 단계 (504) 는 모드 정보 (304) 를 이용하여 동적 애플리케이션 상태 정보 (118) 를 재초기화하도록 또한 선택적으로 변경된다 (510 & 512). 단계 (504) 는 애플리케이션 상태 히스토리 정보가 동적 유저 인터페이스 데이터 관련 정보의 히스토리적 스냅-샷을 포함하는 애플리케이션 유저 인터페이스 데이터 정보를 포함하도록 선택적으로 변경된다 (514). 단계 (504) 는 애플리케이션 유저 인터페이스 데이터 정보를 이용하여 동적 애플리케이션 상태 정보를 재초기화하도록 또한 선택적으로 변경된다 (514 & 516). 단계 (504) 는 컴퓨팅 장치 (100) 가 무선 장치이도록 또한 선택적으로 변경된다 (518).
단계 (506) 는 어떤 애플리케이션 실행의 개시를 배제하도록 선택적으로 변경된다 (520). 단계 (506) 는 이전 제 1 애플리케이션 (112) 으로서 컴퓨팅 장치 (100) 상에서 현재 실행되는 애플리케이션을 선택적으로 유지하도록 또한 선택적으로 변경된다 (522). 단계 (506) 는 현재 실행되는 애플리케이션과 관련된 동적 애플리케이션 상태 정보와 이전 제 1 애플리케이션과 관련된 검색된 애플리케이션 상태 히스토리 정보간의 매칭 정보를 검출하도록 또한 선택적으로 변경된다 (522 & 524). 단계 (506) 는 매칭 정보가 애플리케이션 식별 정보이도록 또한 선택적으로 변경된다 (522, 524 & 526). 단계 (506) 는 애플리케이션 상태 히스토리 정보 (120) 를 이용하여 동적 애플리케이션 상태 정보 (118) 를 재초기화하도록 또한 선택적으로 변경된다 (528).
도 6은 컴퓨팅 장치 (100) 상의 애플리케이션 실행 방법의 하나의 예시적인 실시형태 (600) 를 예시한다. 상세하게는, 도 6은 노드 (602) 에서의 시작 후, 단계 (604) 가 컴퓨팅 장치 (100) 상에서 실행되는 제 1 애플리케이션 (112) 을 퇴거하도록 실행되는 방법을 설명한다. 단계 (604) 이후에는 방법이 제 1 애플리케이션 (112) 과 관련된 애플리케이션 상태 히스토리 정보 (120) 를 저장하는 단계 (606) 가 있다.
일 실시형태에 있어서, 애플리케이션 상태 히스토리 정보 (120) 가 실제로 저장되는 것은 (즉, 네스트된 호출이 발생될 때까지 어떤 "이전의" 히스토리도 필요로 되지 않는) 제 1 에플리케이션 (112) 이 제 2 애플리케이션 (114) 을 호출할 때만이다. 그러나, 다른 실시형태에 있어서, 호출이 제 2 애플리케이션 (114) 에 이루어지기 전에 애플리케이션은 이러한 정보를 저장할 필요를 예상할 수 있으며 (즉, 제 1 애플리케이션 (112) 이 이전 타겟 애플리케이션 정보 (312) 와 애플리케이션 상태 히스토리 정보 (120) 가 상주하기 전에 제 2 애플리케이션 (114) 을 호출할 때까지 대기하지 않고) -이러한 시나리오는 필요하지 않을 수도 있는 메모리의 이용과 프로세싱 시간을 요구하기 때문에 보다 효율이 적은 접근 방식을 나타낸다.
단계 (606) 의 이후는 방법이 제 1 애플리케이션 (112) 퇴거에 응답하여 제 2 애플리케이션 (114) 을 런치하는 단계 (608) 가 있다. 단계 (608) 의 이후는 방법이 제 2 애플리케이션 (114) 을 퇴거하는 단계 (610) 가 있다. 단계 (610) 의 이후는 방법이 제 1 애플리케이션 (112) 과 관련된 저장된 애플리케이션 상태 히스토리 정보 (120) 를 검색하는 단계 (612) 가 있다. 단계 (612) 의 이후는 방법이 검색된 애플리케이션 상태 히스토리 정보 (120) 를 이용하여, 제 2 애플리케이션 (114) 의 퇴거에 응답하여, 컴퓨팅 장치 (100) 상에서 제 1 애플리케이션 (112) 을 재런치하는 단계 (614) 가 있다. 단계 (614) 이후는 방법의 종료를 나타내는 종료 노드 (616) 가 있다.
3개의 단계 (604, 608 및 614) 는 4개의 추가의 한정 (618,620,622 및 624) 에 의해 선택적으로 변경된다. 단계 (604) 는 컴퓨팅 장치 (100) 가 무선 장치이도록 선택적으로 변경된다 (618). 단계 (608) 는 제 1 애플리케이션 (112) 과 제 2 애플리케이션 (114) 간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 제 1 애플리케이션 (112) 의 실행을 선택적으로 유지하도록 선택적으로 변경된다 (620). 단계 (614) 는 제 1 애플리케이션 (112) 과 제 2 애플리케이션 (114) 간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 제 2 애플리케이션 (112) 의 실행을 선택적으로 유지하도록 선택적으로 변경된다 (622). 단계 (614) 는 애플리케이션 상태 히스토리 정보 (120) 를 이용하여 이전에 퇴거된 제 1 애플리케이션 (112) 과 관련된 이전 애플리케이션 상태 히스토리 정보 (312) 를 갖는 제 1 애플리케이션을 재초기화하도록 또한 선택적으로 변경된다 (624).
도 7은 컴퓨팅 장치 (100) 상의 애플리케이션 실행 방법의 하나의 예시적인 실시형태 (700) 를 예시한다. 상세하게는, 도 7은 노드 (702) 에서의 시작 후, 단계 (704) 가 컴퓨팅 장치 (100) 상에서 제 1 애플리케이션 (112) 을 실행하도록 실행되는 방법을 설명한다. 단계 (704) 의 이후는 방법이 제 1 애플리케이션 (112) 으로부터 제 2 애플리케이션 (114) 으로 호출을 발생시키는 단계 (706) 가 있다. 단계 (706) 의 이후는 방법이 제 2 애플리케이션 (114) 으로의 호출의 검출에 응답하여 제 1 애플리케이션 (112) 을 퇴거하는 단계 (708) 가 있다. 단계 (708) 의 이후는 방법이 제 2 애플리케이션 (114) 으로의 호출에 응답하여 제 1 애플리케이션 (112) 과 관련된 애플리케이션 상태 히스토리 정보 (120) 를 저장하는 단계 (710) 가 있다. 단계 (710) 의 이후는 방법이 제 2 애플리케이션 (114) 으로의 호출에 응답하여 제 2 애플리케이션 (114) 을 런치하는 단계 (712) 가 있다. 단계 (712) 의 이후는 방법이 제 2 애플리케이션 (114) 의 종료를 검출하는 단계 (714) 가 있다. 단계 (714) 의 이후는 방법이 제 2 애플리케이션 (114) 종료의 검출에 응답하여 제 1 애플리케이션과 관련된 저장된 애플리케이션 상태 히스토리 정보 (120) 를 검색하는 단계 (716) 가 있다. 단계 (716) 의 이후는 검색된 애플리케이션 상태 히스토리 정보 (120) 를 이용하여, 제 2 애플리케이션 (114) 의 종료 검출에 응답하여, 제 1 애플리케이션 (112) 을 재런치하는 단계 (718) 가 있다. 단계 (718) 의 이후는 방법의 종료를 나타내는 종료 노드 (720) 가 있다.
3개의 단계 (704, 712 및 718) 는 3개의 추가적인 한정 (722, 724 및 726) 에 의해 선택적으로 변경된다. 단계 (704) 는 컴퓨팅 장치 (100) 가 무선 장치이도록 선택적으로 변경된다 (722). 단계 (712) 는 제 1 애플리케이션 (112) 과 제 2 애플리케이션 (114) 간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 제 1 애플리케이션 (112) 의 실행을 선택적으로 유지하도록 선택적으로 변경된다 (724). 단계 (718) 는 제 1 애플리케이션 (112) 과 제 2 애플리케이션 (114) 간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 제 2 애플리케이션 (114) 의 실행을 선택적으로 유지하도록 선택적으로 변경된다 (726).
당업자들은 여기에 개시된 실시형태와 관련하여 설명된 다양한 예시의 로지컬 블럭, 모듈, 회로, 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수도 있다는 것을 또한 이해할 것이다. 이러한 하드웨어 및 소프트웨어의 교환 가능성을 명확히 예시하기 위해, 다양한 예시의 구성 요소, 블럭, 모듈, 회로, 및 단계가 일반적으로 그들의 기능성의 관점에서 상술되어 왔다. 이러한 기능성이 하드웨어로서 제공되는지 또는 소프트웨어로서 제공되는지의 여부는 전체의 시스템에 부과되는 특정 애플리케이션 및 설계 제약에 따른다. 당업자들은 각각의 특정 애플리케이션에 대해 다양한 방법으로 설명된 기능성을 구현할 수도 있으나, 이러한 구현 결정은 본 발명의 범위으로부터의 벗어남을 야기하는 것으로서 해석되지 않아야 한다.
여기에 개시된 실시형태와 관련하여 설명된 방법 또는 알고리즘의 단계는 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 2개의 조합으로 직접 구체화될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM 또는 관련 분야에 공지된 어떤 다른 형태의 저장 매체에 상주할 수도 있다. 통상적인 저장 매체는 프로세서에 결합되어 이러한 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체로 정보를 기록할 수 있다. 대안으로서, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 유저 터미널에 상주할 수도 있다. 대안으로서, 프로세서 및 저장 매체는 유저 터미널에서 개별 구성 요소로서 상주할 수도 있다.
개시된 실시형태의 이전의 설명은 본 발명을 형성하고 이용하는 것이 당업자에게 가능하도록 제공된다. 이들 실시형태의 다양한 변경은 당업자에게 이미 자명할 것이고, 여기에 정의된 포괄적 원리는 본 발명의 사상 또는 범위로부터 벗어남이 없이 다른 실시형태에 적용될 수도 있다. 따라서, 본 발명은 여기에 나타낸 실시형태를 한정하도록 의도되지 않지만 여기에 개시된 원리 및 새로운 특징과 일치하는 가장 넓은 범위에 따르게 될 것이다.

Claims (42)

  1. 제 1 애플리케이션의 후속 재런치에서의 이용을 위해, 컴퓨팅 장치상의 제 1 애플리케이션의 실행과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는, 애플리케이션 상태 히스토리 정보를 저장하는 단계; 및
    상기 컴퓨팅 장치상에서 제 2 애플리케이션을 런칭하는 단계를 포함하고,
    상기 제 2 애플리케이션을 런칭하는 단계는, 상기 컴퓨팅 장치상의 상기 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  2. 제 1 항에 있어서,
    상기 제 2 애플리케이션을 런칭하는 단계는, 애플리케이션 실행의 개시를 선택적으로 배제하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계는, 상기 제 1 애플리케이션과 관련된 애플리케이션 상태 히스토리 정보와 상기 제 2 애플리케이션과 관련된 정보간의 매칭 정보를 검출하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  5. 제 4 항에 있어서,
    상기 매칭 정보는 애플리케이션 식별 정보인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  6. 제 1 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보를 저장하는 단계는, 상기 제 2 애플리케이션을 런칭하는 단계에 의존하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  7. 제 1 항에 있어서,
    상기 제 2 애플리케이션을 런칭하는 단계는, 상기 제 1 애플리케이션에 대한 실행 상태의 업커밍(upcoming) 손실을 검출하는 단계에 의존하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  8. 제 1 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보가, 고유한 기능 모드와 관련된 정보의 히스토리적 스냅-샷을 갖는 모드 정보를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  9. 제 1 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보는, 동적 유저 인터페이스 데이터 관련 정보의 히스토리적 스냅-샷을 포함하는 유저 인터페이스 데이터 정보를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  10. 제 1 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보는, 다른 애플리케이션에 대한 관련 애플리케이션의 시퀸스 순서를 나타내는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  11. 제 1 항에 있어서,
    상기 제 2 애플리케이션을 런칭하는 단계는, 제 1 애플리케이션에 의해 개시되는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  12. 제 1 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  13. 컴퓨팅 장치상에서 이전에 실행되는 이전 제 1 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는 저장된 애플리케이션 상태 히스토리 정보를 검색하는 단계; 및
    상기 검색된 애플리케이션 상태 히스토리 정보를 이용하여 상기 컴퓨팅 장치상에서 상기 이전 제 1 애플리케이션을 재런칭하는 단계를 포함하고,
    상기 이전 제 1 애플리케이션을 재런칭하는 단계는, 상기 컴퓨팅 장치상에서 현재 실행되는 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  14. 제 13 항에 있어서,
    상기 이전 제 1 애플리케이션을 재런칭하는 단계는, 임의의 애플리케이션 실행의 개시를 배제하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  15. 삭제
  16. 제 13 항에 있어서,
    상기 컴퓨팅 장치상에서 실행되는 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계는, 현재 실행되는 애플리케이션과 관련된 동적 애플리케이션 상태 정보와 상기 이전 제 1 애플리케이션과 관련된 상기 검색된 애플리케이션 상태 히스토리 정보간의 매칭 정보를 검출하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  17. 제 16 항에 있어서,
    상기 매칭 정보는 애플리케이션 식별 정보인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  18. 제 13 항에 있어서,
    상기 이전 제 1 애플리케이션을 재런칭하는 단계는, 동적 애플리케이션 상태 정보를 재초기화하도록 애플리케이션 상태 히스토리 정보를 이용하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  19. 제 13 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보가, 고유한 기능 모드와 관련된 정보의 히스토리적 스냅-샷을 갖는 모드 정보를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  20. 제 19 항에 있어서,
    상기 동적 애플리케이션 상태 정보를 재초기화하도록 상기 모드 정보를 이용하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  21. 제 13 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보는, 동적 유저 인터페이스 데이터 관련 정보의 히스토리적 스냅-샷을 포함하는 애플리케이션 유저 인터페이스 데이터 정보를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  22. 제 21 항에 있어서,
    상기 동적 애플리케이션 상태 정보를 재초기화하도록 상기 애플리케이션 유저 인터페이스 데이터 정보를 이용하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  23. 제 13 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  24. 컴퓨팅 장치상에서 실행되는 제 1 애플리케이션을 퇴거하는 단계;
    상기 제 1 애플리케이션과 관련된 애플리케이션 상태 히스토리 정보를 저장하는 단계;
    상기 제 1 애플리케이션 퇴거에 응답하여 제 2 애플리케이션을 런칭하는 단계;
    상기 제 2 애플리케이션을 퇴거하는 단계;
    상기 제 1 애플리케이션과 관련된 상기 저장된 애플리케이션 상태 히스토리 정보를 검색하는 단계; 및
    상기 검색된 애플리케이션 상태 히스토리 정보를 이용하여, 상기 제 2 애플리케이션 퇴거에 응답하여, 상기 컴퓨팅 장치상의 상기 제 1 애플리케이션을 재런칭하는 단계를 포함하고,
    상기 제 2 애플리케이션을 런칭하는 단계는, 상기 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계를 포함하고, 상기 제 1 애플리케이션을 재런칭하는 단계는, 상기 제 2 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  25. 제 24 항에 있어서,
    상기 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계는, 상기 제 1 애플리케이션과 상기 제 2 애플리케이션간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 실행되는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  26. 제 24 항에 있어서,
    상기 제 2 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 단계는, 상기 제 1 애플리케이션과 상기 제 2 애플리케이션간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 실행되는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  27. 제 24 항에 있어서,
    상기 제 1 애플리케이션을 재런칭하는 단계는, 이전에 퇴거된 제 1 애플리케이션과 관련된 이전 상태 히스토리 정보를 갖는 상기 제 1 애플리케이션을 재초기화하도록 애플리케이션 상태 히스토리 정보를 이용하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  28. 제 24 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  29. 컴퓨팅 장치상에서 제 1 애플리케이션을 실행하는 단계;
    상기 제 1 애플리케이션으로부터 제 2 애플리케이션으로 호출을 발생시키는 단계;
    상기 제 2 애플리케이션으로의 호출의 검출에 응답하여 상기 제 1 애플리케이션을 퇴거하는 단계;
    상기 제 2 애플리케이션으로의 호출에 응답하여 상기 제 1 애플리케이션과 관련된 애플리케이션 상태 히스토리 정보를 저장하는 단계;
    상기 제 2 애플리케이션으로의 호출에 응답하여 상기 제 2 애플리케이션을 런칭하는 단계;
    상기 제 2 애플리케이션의 종료를 검출하는 단계;
    상기 제 2 애플리케이션의 종료의 검출에 응답하여 상기 제 1 애플리케이션과 관련된 상기 저장된 애플리케이션 상태 히스토리 정보를 검색하는 단계; 및
    상기 검색된 애플리케이션 상태 히스토리 정보를 이용하여, 상기 제 2 애플리케이션의 종료의 검출에 응답하여 상기 제 1 애플리케이션을 재런칭하는 단계를 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  30. 제 29 항에 있어서,
    상기 제 2 애플리케이션을 런칭하는 단계는, 상기 제 1 애플리케이션과 상기 제 2 애플리케이션간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 상기 제 1 애플리케이션의 실행을 선택적으로 유지하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  31. 제 29 항에 있어서,
    상기 제 1 애플리케이션을 재런칭하는 단계는, 상기 제 1 애플리케이션과 상기 제 2 애플리케이션간의 매칭 애플리케이션 식별 정보의 검출에 응답하여 상기 제 2 애플리케이션의 실행을 선택적으로 유지하는 단계를 더 포함하는, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  32. 제 29 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치상의 애플리케이션 실행 방법.
  33. 메모리;
    상기 메모리에 저장되고 동적 애플리케이션 상태 정보를 발생시키도록 동작가능한 애플리케이션;
    상기 애플리케이션이 실행되는 메모리에 저장된 런타임 환경; 및
    상기 메모리에 결합되며, 컴퓨팅 장치상의 현재 실행되는 애플리케이션의 후속 재런치에서의 이용을 위해, 상기 컴퓨팅 장치상에서 현재 실행되는 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는 애플리케이션 상태 히스토리 정보를 저장하기 위한 코드를 실행하도록 동작가능한 프로세서를 포함하고,
    상기 프로세서는, 상기 애플리케이션의 퇴거 직후, 상기 컴퓨팅 장치상에서 또 다른 애플리케이션의 런칭시, 상기 애플리케이션의 활성 인스턴스를 선택적으로 유지하기 위한 코드를 실행하도록 동작가능한, 컴퓨팅 장치.
  34. 제 33 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보를 저장하기 위한 코드는, 상기 애플리케이션 및 상기 런타임 환경 중 하나 이상에 위치되는, 컴퓨팅 장치.
  35. 제 33 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치.
  36. 메모리;
    상기 메모리에 저장되고 동적 애플리케이션 상태 정보를 발생시키도록 동작가능한 애플리케이션;
    상기 애플리케이션이 실행되는 런타임 환경; 및
    상기 메모리에 결합되며, 컴퓨팅 장치상에서 이전에 실행되는 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는 저장된 애플리케이션 상태 히스토리 정보를 검색하기 위한 코드를 실행하도록 동작가능한 프로세서를 포함하고,
    상기 프로세서는, 상기 컴퓨팅 장치상에서, 상기 이전에 실행되는 애플리케이션의 퇴거 후, 상기 이전에 실행되는 애플리케이션의 활성 인스턴스를 유지하기 위한 코드를 실행하도록 동작가능한, 컴퓨팅 장치.
  37. 제 36 항에 있어서,
    상기 애플리케이션 상태 히스토리 정보를 검색하기 위한 코드는, 상기 애플리케이션 및 상기 런타임 환경 중 하나 이상에 위치되는, 컴퓨팅 장치.
  38. 제 36 항에 있어서,
    상기 컴퓨팅 장치는 무선 장치인, 컴퓨팅 장치.
  39. 애플리케이션 히스토리 정보를 저장할 수 있는 컴퓨터 프로그램을 수록한 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은,
    제 1 애플리케이션의 후속 재런치에서의 이용을 위해, 컴퓨팅 장치상의 제 1 애플리케이션의 실행과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는, 애플리케이션 상태 히스토리 정보를 저장하도록 동작가능한 코드; 및
    상기 컴퓨팅 장치상에서 제 2 애플리케이션을 런치하도록 동작가능한 코드를 포함하고,
    상기 제 2 애플리케이션을 런치하도록 동작가능한 코드는, 상기 컴퓨팅 장치상의 상기 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하도록 동작가능한 코드를 포함하는, 컴퓨터 판독가능 매체.
  40. 애플리케이션 히스토리 정보를 검색할 수 있는 컴퓨터 프로그램을 수록한 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은,
    컴퓨팅 장치상에서 미리 실행되는 이전 제 1 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는 저장된 애플리케이션 상태 히스토리 정보를 검색하도록 동작가능한 코드; 및
    상기 검색된 애플리케이션 상태 히스토리 정보를 이용하여 상기 컴퓨팅 장치상에서 상기 이전 제 1 애플리케이션을 재런치하도록 동작가능한 코드를 포함하고,
    상기 이전 제 1 애플리케이션의 퇴거 후 상기 이전 제 1 애플리케이션의 활성 인스턴스를 유지하도록 동작하는 코드를 더 포함하는, 컴퓨터 판독가능 매체.
  41. 제 1 애플리케이션의 후속 재런치에서의 이용을 위해, 컴퓨팅 장치상의 제 1 애플리케이션의 실행과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는, 애플리케이션 상태 히스토리 정보를 저장하는 수단; 및
    상기 컴퓨팅 장치상에서 제 2 애플리케이션을 런칭하는 수단을 포함하고,
    상기 제 2 애플리케이션을 런칭하는 수단은, 상기 컴퓨팅 장치상의 제 1 애플리케이션의 활성 인스턴스를 선택적으로 유지하는 수단을 포함하는, 컴퓨팅 장치.
  42. 컴퓨팅 장치상에서 이전에 실행되는 이전 제 1 애플리케이션과 관련된 동적 애플리케이션 상태 정보의 히스토리적 스냅-샷을 포함하는 저장된 애플리케이션 상태 히스토리 정보를 검색하는 수단; 및
    상기 검색된 애플리케이션 상태 히스토리 정보를 이용하여 상기 컴퓨팅 장치상에서 상기 이전 제 1 애플리케이션을 재런칭하는 수단을 포함하고,
    상기 이전 제 1 애플리케이션의 퇴거 후 상기 이전 제 1 애플리케이션의 활성 인스턴스를 유지하는 수단을 더 포함하는, 컴퓨팅 장치.
KR1020067027331A 2004-05-26 2005-05-26 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리정보를 이용한 방법, 소프트웨어 및 장치 KR100934883B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/854,982 2004-05-26
US10/854,982 US7484220B2 (en) 2004-05-26 2004-05-26 Method, software and apparatus for using application state history information when re-launching applications
PCT/US2005/018672 WO2005119445A1 (en) 2004-05-26 2005-05-26 Method, software and apparatus for using application state history information when re-launching applications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018168A Division KR20090101391A (ko) 2004-05-26 2005-05-26 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리 정보를 이용한 방법, 소프트웨어 및 장치

Publications (2)

Publication Number Publication Date
KR20070034523A KR20070034523A (ko) 2007-03-28
KR100934883B1 true KR100934883B1 (ko) 2010-01-06

Family

ID=35426903

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067027331A KR100934883B1 (ko) 2004-05-26 2005-05-26 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리정보를 이용한 방법, 소프트웨어 및 장치
KR1020097018168A KR20090101391A (ko) 2004-05-26 2005-05-26 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리 정보를 이용한 방법, 소프트웨어 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020097018168A KR20090101391A (ko) 2004-05-26 2005-05-26 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리 정보를 이용한 방법, 소프트웨어 및 장치

Country Status (13)

Country Link
US (1) US7484220B2 (ko)
EP (1) EP1769351B1 (ko)
JP (1) JP4740238B2 (ko)
KR (2) KR100934883B1 (ko)
CN (1) CN1977246B (ko)
AU (1) AU2005250858A1 (ko)
BR (1) BRPI0511551A (ko)
CA (1) CA2567088A1 (ko)
IL (1) IL179310A0 (ko)
MX (1) MXPA06013666A (ko)
RU (1) RU2006146048A (ko)
TW (1) TW200611197A (ko)
WO (1) WO2005119445A1 (ko)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US9715252B2 (en) * 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US7574591B2 (en) * 2006-01-12 2009-08-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US20080079695A1 (en) * 2006-10-03 2008-04-03 Nicholas Martin Method and Program for a Personalized Mouse
US9286306B2 (en) * 2007-03-14 2016-03-15 Canon Kabushiki Kaisha Document image management device and document image management method
US7979685B1 (en) 2007-11-27 2011-07-12 Oracle America, Inc. Multiple instruction execution mode resource-constrained device
US8949671B2 (en) * 2008-01-30 2015-02-03 International Business Machines Corporation Fault detection, diagnosis, and prevention for complex computing systems
US20090327953A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Unified navigation model between multiple applications
US8874491B2 (en) * 2008-06-30 2014-10-28 Nokia Corporation Task history user interface using a clustering algorithm
US7975176B2 (en) * 2008-08-06 2011-07-05 International Business Machines Corporation Application failure recovery
US8291261B2 (en) * 2008-11-05 2012-10-16 Vulcan Technologies Llc Lightweight application-level runtime state save-and-restore utility
US8479202B2 (en) * 2009-02-06 2013-07-02 International Business Machines Corporation Method and system for autonomic application program spawning in a computing environment
US7941700B2 (en) * 2009-03-02 2011-05-10 Microsoft Corporation Operating system-based application recovery
US20100229100A1 (en) * 2009-03-03 2010-09-09 Sprint Spectrum L.P. Methods and Systems for Storing and Accessing Application History
JP5102823B2 (ja) 2009-12-21 2012-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 総テスト時間を最小にするようにテストシナリオを最適化するテスト支援装置、テスト装置、テスト支援方法及びコンピュータプログラム
US9830889B2 (en) * 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
KR20110089012A (ko) * 2010-01-29 2011-08-04 삼성전자주식회사 전자책 단말기 및 그의 멀티태스킹 히스토리 제공방법
US8719400B2 (en) * 2010-03-02 2014-05-06 International Business Machines Corporation Flexible delegation of management function for self-managing resources
KR20110106716A (ko) * 2010-03-23 2011-09-29 삼성전자주식회사 프로그램 컴파일러, 설치 장치, 및 설치 방법
KR101657545B1 (ko) * 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
JP5658768B2 (ja) * 2010-06-04 2015-01-28 エンパイア テクノロジー ディベロップメント エルエルシー クラウドベースのアプリケーションのためのエージェントレスなフォローミーサービス
JP4937385B2 (ja) * 2010-07-20 2012-05-23 株式会社東芝 情報処理装置および表示領域の配置方法
CN101969502A (zh) * 2010-10-13 2011-02-09 华为终端有限公司 一种移动终端业务恢复的方法及一种移动终端
CN103403644B (zh) * 2010-11-18 2016-10-05 谷歌公司 计算机的延迟关停
TW201241640A (en) * 2011-02-14 2012-10-16 Microsoft Corp Dormant background applications on mobile devices
US20120260202A1 (en) * 2011-04-11 2012-10-11 Microsoft Corporation Customized launching of applications
US8635673B2 (en) * 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US8842057B2 (en) 2011-09-27 2014-09-23 Z124 Detail on triggers: transitional states
CN102467404A (zh) * 2011-10-14 2012-05-23 海尔集团技术研发中心 一种基于物理内存实现软件快速切换的方法及装置
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
US9087154B1 (en) * 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9703680B1 (en) 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
KR101419852B1 (ko) * 2012-04-03 2014-07-15 삼성전자주식회사 메신저 애플리케이션에서 사용 가능한 북마크 기능을 위한 방법 및 그 전자 장치
US9411639B2 (en) * 2012-06-08 2016-08-09 Alcatel Lucent System and method for managing network navigation
CN103577253B (zh) * 2012-07-30 2018-07-20 腾讯科技(深圳)有限公司 应用程序的处理方法和装置
US9207972B2 (en) * 2013-03-14 2015-12-08 International Business Machines Corporation Meta-application management in a multitasking environment
WO2014156295A1 (ja) * 2013-03-25 2014-10-02 ソニー株式会社 情報処理装置、情報処理システム、及び情報処理方法
US9787820B2 (en) * 2013-08-07 2017-10-10 Linkedin Corporation Navigating between a mobile application and a mobile browser
US10282451B1 (en) 2013-09-26 2019-05-07 Twitter, Inc. Context aware application manager
US11347754B1 (en) 2013-09-26 2022-05-31 Twitter, Inc. Context aware application manager
US10551995B1 (en) * 2013-09-26 2020-02-04 Twitter, Inc. Overlay user interface
US9760417B2 (en) 2014-03-10 2017-09-12 Microsoft Technology Licensing, Llc Application dehydration and rehydration during application-to-application calls
US9779149B2 (en) * 2014-03-19 2017-10-03 Vmware, Inc. Multi mode extendable object selector
US9292367B2 (en) * 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
CN104166592B (zh) * 2014-07-23 2018-08-24 百度在线网络技术(北京)有限公司 一种在用户设备中用于管理断点信息的方法和装置
US10521074B2 (en) * 2014-07-31 2019-12-31 Dell Products, Lp System and method for a back stack in a multi-application environment
US9734000B2 (en) * 2015-06-18 2017-08-15 Microsoft Technology Licensing, Llc Seamless transitions between applications and devices
US20170097743A1 (en) * 2015-10-05 2017-04-06 Quixey, Inc. Recommending Applications
CN105425997B (zh) * 2015-11-11 2019-02-05 Oppo广东移动通信有限公司 一种用户终端重启后的界面显示方法及用户终端
US10725805B2 (en) * 2015-11-25 2020-07-28 International Business Machines Corporation Provisioning based on workload displacement
US10049167B2 (en) * 2015-12-31 2018-08-14 Samsung Electronics Co., Ltd. System for transforming mobile app into addressable network for stateless access
CN105912226A (zh) * 2016-04-11 2016-08-31 北京小米移动软件有限公司 应用程序中页面的显示方法及装置
US10242165B2 (en) 2016-10-24 2019-03-26 Google Llc Optimized security selections
KR20180080484A (ko) 2017-01-04 2018-07-12 엘지전자 주식회사 이동 단말기
JP6874706B2 (ja) * 2018-02-07 2021-05-19 オムロン株式会社 アプリケーションプログラムを生成する方法、装置、プログラム
CN111290840B (zh) * 2018-12-06 2024-09-24 中兴通讯股份有限公司 一种调用关联应用的方法、装置、设备及计算机可读介质
CN113906377A (zh) * 2019-06-12 2022-01-07 Oppo广东移动通信有限公司 用于管理一个或多个最近使用的应用程序的移动终端及方法
CN116126201B (zh) * 2021-11-30 2023-11-07 荣耀终端有限公司 应用启动方法、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990056029A (ko) * 1997-12-29 1999-07-15 윤종용 웹 비디오 폰에서 메모리 스와핑 방법
US20050034124A1 (en) * 2003-03-27 2005-02-10 House Eric Edward Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system
US20050101267A1 (en) * 2003-11-07 2005-05-12 Andrew Corporation, A Delaware Corporation Frequency conversion techniques

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2810923B2 (ja) * 1989-06-19 1998-10-15 ディジタル イクイプメント コーポレーション デジタル処理システムにおけるアプリケーション統合装置
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
JPH09319595A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Ind Co Ltd マルチタスク制御装置
US6917963B1 (en) * 1999-10-05 2005-07-12 Veritas Operating Corporation Snapshot image for the application state of unshareable and shareable data
US6670974B1 (en) * 1999-10-12 2003-12-30 Gateway, Inc. Persistent usage context
AU7718100A (en) * 1999-10-12 2001-04-23 Autodesk, Inc. Geographic maps on a personal digital assistant (pda) and server
US7200848B1 (en) * 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
JP2002152328A (ja) * 2000-11-07 2002-05-24 Nec Corp 携帯端末、該携帯端末における表示切換方法、及び表示切換プログラムを記録した記録媒体
JP3866032B2 (ja) * 2000-12-05 2007-01-10 株式会社ケンウッド 電子機器
JP2004080195A (ja) * 2002-08-13 2004-03-11 Toshiba Corp 移動無線端末装置
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器
JP3908944B2 (ja) * 2001-11-30 2007-04-25 ソフトバンクモバイル株式会社 携帯通信機器
JP2003319020A (ja) * 2002-04-24 2003-11-07 Kyocera Corp 携帯端末
US20050102675A1 (en) 2003-11-10 2005-05-12 Parkyn Nicholas D. Method for managing execution of a process based on available services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990056029A (ko) * 1997-12-29 1999-07-15 윤종용 웹 비디오 폰에서 메모리 스와핑 방법
US20050034124A1 (en) * 2003-03-27 2005-02-10 House Eric Edward Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system
US20050101267A1 (en) * 2003-11-07 2005-05-12 Andrew Corporation, A Delaware Corporation Frequency conversion techniques

Also Published As

Publication number Publication date
AU2005250858A1 (en) 2005-12-15
KR20090101391A (ko) 2009-09-25
CN1977246B (zh) 2010-10-27
JP2008500647A (ja) 2008-01-10
US7484220B2 (en) 2009-01-27
IL179310A0 (en) 2007-03-08
WO2005119445A1 (en) 2005-12-15
EP1769351B1 (en) 2020-04-15
JP4740238B2 (ja) 2011-08-03
US20050268301A1 (en) 2005-12-01
CN1977246A (zh) 2007-06-06
CA2567088A1 (en) 2005-12-15
EP1769351A1 (en) 2007-04-04
KR20070034523A (ko) 2007-03-28
BRPI0511551A (pt) 2008-01-02
MXPA06013666A (es) 2007-03-23
RU2006146048A (ru) 2008-07-10
TW200611197A (en) 2006-04-01
EP1769351A4 (en) 2009-01-07

Similar Documents

Publication Publication Date Title
KR100934883B1 (ko) 애플리케이션의 재런칭시의 애플리케이션 상태 히스토리정보를 이용한 방법, 소프트웨어 및 장치
RU2435200C2 (ru) Быстрая загрузка операционной системы из выключенного состояния
USRE40092E1 (en) Method for quickly booting a computer system
KR101702700B1 (ko) 고속 컴퓨터 시동
JP5026494B2 (ja) 高速で起動するコンピュータ
JP5937101B2 (ja) 高速コンピュータースタートアップ
JP5200085B2 (ja) コンピュータを短時間で起動する方法およびコンピュータ
JP2012220990A (ja) ハイパーバイザ置き換え方法および情報処理装置
JPH0756719A (ja) 最後にブートに成功した既知のシステム構成データ・セットを用いたコンピュータ・システムのブート方法および装置
TWI450090B (zh) 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統
JP2003521777A (ja) オペレーティングシステムをロードする前にオペレーティングシステムの起動シーケンスを変更するためのシステムと方法
WO2008048581A1 (en) A processing device operation initialization system
JPWO2009016708A1 (ja) コンピュータ装置、コンピュータ起動処理方法およびコンピュータ起動処理プログラム
CN111078303B (zh) 一种优化uefi引导开机启动的方法及装置
CN107179941A (zh) 装置和优先级排序处理方法
JP2005092708A (ja) ソフトウェア更新システム及びソフトウェア更新方法並びにコンピュータプログラム
KR101420026B1 (ko) 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN101866289A (zh) 多重操作系统启动方法
JPWO2006001050A1 (ja) コンピュータ起動方法、プログラム、記憶媒体及び情報処理装置
JP2005284925A (ja) コンピュータシステムおよびプログラム更新方法
JP2003330724A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2003256219A (ja) 組込み機器におけるプログラム実行方法
JP2021149191A (ja) 情報処理装置、情報処理方法
JP2009123082A (ja) 情報処理装置、システム再開方法及びシステム再開プログラム
KR20070026461A (ko) 컴퓨터 기동 방법, 기록 매체 및 정보 처리 장치

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20061226

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
AMND Amendment
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20080229

Patent event code: PE09021S01D

AMND Amendment
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20080930

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20090630

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20080930

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

Patent event date: 20080229

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20090731

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20090630

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20091007

Appeal identifier: 2009101007210

Request date: 20090731

A107 Divisional application of patent
AMND Amendment
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20090831

PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20090831

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20090731

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20090130

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20080430

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20070207

Patent event code: PB09011R02I

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20091007

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20090908

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20091223

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20091223

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20121129

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20131129

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20141128

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20150930

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20161125

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20170929

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20180928

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20190924

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20210929

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20230921

Start annual number: 15

End annual number: 15

PR1001 Payment of annual fee