KR20050001401A - 아웃 오브 메모리 및 무리없는 셧다운의 검출 - Google Patents

아웃 오브 메모리 및 무리없는 셧다운의 검출 Download PDF

Info

Publication number
KR20050001401A
KR20050001401A KR1020040047450A KR20040047450A KR20050001401A KR 20050001401 A KR20050001401 A KR 20050001401A KR 1020040047450 A KR1020040047450 A KR 1020040047450A KR 20040047450 A KR20040047450 A KR 20040047450A KR 20050001401 A KR20050001401 A KR 20050001401A
Authority
KR
South Korea
Prior art keywords
memory
application
buffer
threshold
spare
Prior art date
Application number
KR1020040047450A
Other languages
English (en)
Other versions
KR100941041B1 (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 KR20050001401A publication Critical patent/KR20050001401A/ko
Application granted granted Critical
Publication of KR100941041B1 publication Critical patent/KR100941041B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Fire-Detection Mechanisms (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Fire Alarms (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 적은 메모리 관리자는 특정 응용 프로그램에 할당된 메모리의 일부분이, 적은 메모리의 출현 동안 특정 응용 프로그램을 지원하는데 이용될 수 있도록, 복구시에 보유되게 구성함으로써, 장애 응용 프로그램들이 충돌하기 전에 데이터 백업 또는 치료 조치들이 수행될 시간을 제공한다.

Description

아웃 오브 메모리 및 무리없는 셧다운의 검출{DETECTION OF OUT OF MEMORY AND GRACEFUL SHUTDOWN}
본 발명은 컴퓨팅 장치의 메모리 관리에 관한 것이다.
종래 기술에 공지된 바와 같이, MicrosoftTM및 UNIX 기반 시스템 등의 운용 체계는 응용 프로그램이 사용할 수 있는 어드레스가능한 메모리량에 물리적인 한계를 갖고 있다. 응용 프로그램이 그 한도를 초과하면, 응용 프로그램은 빈번하게 충돌하여, 영구 메모리에 저장되지 않은 데이터를 잃거나, 또는 그 충돌 응용 프로그램에 의존하는 다른 응용 프로그램들의 충돌이나 셧다운을 아마도 일으킬 것이다. 공통 네트워크에 접속된 개별 컴퓨터들이 병렬로 작업을 수행하는 분산형 컴퓨팅 네트워크에 있어서, 하나의 컴퓨터는 자체의 메모리 사용량 또는 다른 컴퓨터의 메모리 사용량를 모니터링하여, 그 모니터링된 컴퓨터 중 하나의 상태가 응용 프로그램 충돌이 발생했거나 막 발생하려고 하는 것을 지시하는 경우에, 자동으로 또는 인간 오퍼레이터에게 경보한 후에 예방 백업 조치를 취하도록 구성될 수 있다. 그러나, 그러한 시스템은 적시에 문제점을 검출하기 위해서 모니터링 컴퓨터을 거의 일정하게 폴링(polling)할 필요가 있으며, 적시에 검출하더라도, 그 장애 컴퓨터 응용 프로그램은 중요한 데이터가 저장되기 전에 충돌할 수 있다.
따라서, 이러한 상황을 치유하거나 달리 응달할 시간을 제공하기 위하여, 적은 메모리 상황을 검출하고 관리하는 방법 및 시스템이 필요하다.
본 발명은 긴급한 아웃 오브 메모리(out of memory) 문제의 경보를 매우 조기에 제공하여 교정이나 치유 동작이 응용 프로그램의 충돌 전에 취해질 수 있는 신규의 방법을 제공한다.
본 발명의 일 양태에 따르면, 응용 체계 및 응용 프로그램을 실행하는 프로세서와, 그 응용 체계 및 응용 프로그램의 가용 메모리를 갖는 제1 컴퓨터 장치에서 적은 메모리를 관리하는 방법이 제공되며, 이 방법은 (a) 운용 체계에 의한 응용 프로그램의 기동시에 응용 프로그램에 할당된 메모리 블록 내에, 응용 프로그램에 이용할 수 없는 제1 예비 버퍼를 복구될 때까지 예비 할당하는 단계와, (b) 응용 프로그램에 의한 메모리 사용량이 임계치에 도달한 것을 판정시 응용 프로그램이 사용하기 위해 제1 예비 버퍼를 복구하는 단계를 포함한다.
본 발명의 다른 양태에 따르면, 프로세서, 메모리, 운용 체계 및 응용 프로그램이 있는 컴퓨터 장치 상의 적은 메모리를 관리하는 시스템이 제공되며, 이 시스템은 적은 메모리 관리자를 포함하고, 이 적은 메모리 관리자는, (a) 운용 체계에 의해 응용 프로그램에 할당된 메모리 블록 내에, 적은 메모리 관리자에 의해 복구될 때까지 응용 프로그램에 이용할 수 없는 제1 및 제2 예비 버퍼를 예비 할당하고, (b) 응용 프로그램에 관하여 운용 체계가 발생한 제1 아웃 오브 메모리 예외 (out of memory exception)를 검출시에 응용 프로그램이 사용하기 위해 제1 예비 버퍼를 복구하며, (c) 응용 프로그램에 관하여 운용 체계가 발생한 제2 아웃 오브 메모리 예외를 검출시에 응용 프로그램이 사용하기 위해 제2 예비 버퍼를 복구한다.
당업자라면 본 발명의 기타 양태 및 특징들은 첨부 도면과 함께 이후의 실시예에 대한 상세한 설명을 리뷰함으로써 이해할 수 있을 것이다.
도 1은 본 발명의 실시예에 따라 구현되는 컴퓨터 네트워크를 포함하는 통신 시스템의 블록도이다.
도 2는 도 1의 컴퓨터 네트워크의 컴퓨터에 구현된 소프트웨어 컴포넌트의 불록이다.
도 3은 본 발명의 실시예에 따른 메모리의 블록도이다.
도 4는 본 발명의 실시예에 따른 메모리 관리 프로세스의 동작을 보여주는 흐름도이다.
본 발명의 실시예에 대한 이후의 상세한 설명은 특정 컴퓨터 운용 체계(OS)에 한정하여 본 발명을 구현한 것은 아니다. 본 발명은 그 요건을 지원하는 설비를 제공하는 임의 OS로 구현될 수 있다. 일 실시예는 MicrosoftTMWindowsTMXPTM운용체계를 이용하여 구현되지만, 본 발명은 다른 운용 체계, 예를 들면 UNIX로 구현될 수 있다.
도면을 참조하면, 도 1은 본 발명이 구현될 수 있는 네트워킹 컴퓨터 시스템을 포함하는 통신 시스템의 블록도이다. 이 네트워킹 컴퓨터 시스템은 라우터이며, 보다 구체적으로 말하면, 하나 이상의 클라이언트 네트워크(110)와 하나 이상의 무선 네트워크(104) 사이의 중계자와 번역기(interpreter)로서 동작하여, 이메일 메시지가 무선 네트워크(104) 내의 이동 장치(106)와 클라이언트 네트워크(110)에 접속된 장치들 사이에 교환될 수 있도록 하는 무선 게이트웨이(100)이다. 그러나, 본 발명은 라우터 또는 무선 게이트웨이로 구현하는 것에 국한되지 않고, 보다 넓은 양태에 따르면, 광범위한 컴퓨터 시스템으로 구현될 수 있다.
클라이언트 네트워크(110)는 가끔 무선 게이트웨이(100)로부터 멀리 떨어진 원격 지점에 위치되고, 한 개 이상의 통신 링크를 통하여 무선 게이트웨이 (100)와 통신한다. 클라이언트 네트워크(110)는 게이트웨이(100)와 이메일 통신을 취급하는 클라이언트측 인터페이스를 통상적으로 포함한다. 그 이메일 메시지는 종래 기술에 널리 알려진 바와 같이, 특히 플레인 텍스트 메시지와, HTML 메시지 및 매우 다양한 종류의 첨부 파일을 포함한다.
무선 게이트웨이(100)는 하나 이상의 클라이언트 네트워크(110)와 무선 네트워크(104) 사이에 번역(translation)과 라우팅 서비스를 제공하여, 이동 장치 (106)와 클라이언트 네트워크(110)에 직간접적으로 접속된 장치들 사이의 이메일 통신을 손쉽게 한다. 무선 게이트웨이(100)는, 특히 클라이언트 네트워크 인터페이스(CNIs)(1201-120M)와, 적어도 하나의 제어기(122)와, 데이터베이스(DB)(124)와, 무선 트랜스포트 인터페이스(WTIs)(1281-128M)를 포함하는 일부 분산된 컴포넌트를 포함한다. 필요할 때, 용량 및 백업 용장도를 증가시키기 위해서, 그 컴포넌트들은 네트워크(118)에 의해 접속되는 전용 디지털 컴퓨터(전용 LAN일 수 있는)를 이용하여 각각 바람직하게 구현된다. 종래 기술에 알려진 바와 같이, 디지털 컴퓨터 컴포넌트는, 특히 마이크로프로세서(130)와, RAM(132) 등의 비상주 메모리와, 통상적으로 플래쉬 메모리 및/또는 하드 드라이브(HD) 등의 영구 기록가능한 메모리와, 네트워크 통신 인터페이스 카드(도시 생략)를 포함한다. 하나의 컴포넌트, 예를 들면 무선 트랜스포트 인터페이스(128K)(1 ≤K ≤M)가 충돌하거나 사용불가능한 경우에, 무선 게이트웨이(100)에서 하나 이상의 다른 무선 트랜스포트 인터페이스(1281-128M)는 불량 무선 트랜스포트 인터페이스에 의해 앞서 다루어진 트래픽을 픽업할 수 있다.
도 1의 게이트웨이(100)에서, 클라이언트 네트워크 인터페이스(CNI)(120)는 무선 게이트웨이(100)와 적어도 하나의 클라이언트 네트워크(110) 사이의 접속을 관리하도록 각각 구성된다. 일 실시예에서, 클라이언트 네트워크 인터페이스(CNI) (120)는 클라이언트 네트워크(110)에서 하나 이상의 클라이언트측 인터페이스와 개방 접속을 유지하고, 정의된 프로토콜을 이용하여 그들과 통신한다.
무선 게이트웨이(100)의 데이터베이스(124)는 관리, 트래킹 및 메시지 복구를 위하여 무선 게이트웨이의 다른 컴포넌트가 이용한 데이터를 저장하며, 이와 관련하여, 무선 게이트웨이(100)의 복수의 컴포넌트는 데이터베이스(124)에 대하여 기록 및 판독되도록 구성된다. 특히, 그 데이터베이스는 무선 게이트웨이 컴포넌트에 대한 구성 정보를 저장하고, 현재 상태 및 무선 게이트웨이의 상태에 대한 데이터를 유지하며, 무선 게이트웨이(100)와 통신하는 이동 장치(106)에 관한 정보(ID 번호 및 최종적으로 알린 위치를 포함)를 저장하고, 선택된 메시지에 관한 정보를 저장한다. 데이터베이스(124)에 저장된 정보는 재난 또는 에러 복구를 돕고, 백업 컴포넌트가 불량 컴포넌트의 기능을 대신하게 할 수 있다. 하나의 예상 실시예로서, 데이터베이스(124)는 OracleTM데이터베이스이고, 무선 게이트웨이 컴포넌트는 데이터베이스에 대하여 기록하고 판독할 수 있는 OracleTM클라이언트를 실행한다.
무선 게이트웨이(100)는 제어기(122) 및 바람직하게 백업 제어기 형태의 적어도 하나의 제어기를 포함하여, 게이트웨이의 동작을 제어하고 조정한다. 특히, 제어기(122)는 현재 상태 정보에 대하여 컴포넌트들을 주기적으로 풀링함으로써 게이트웨이(100)의 컴포넌트의 동작을 모니터링하여, 데이터베이스(124)에 저장한다. 제어기(122)는 무선 게이트웨이 내의 컴포넌트의 불량 또는 보류(pending) 불량을 검출하여, 그 불량 컴포넌트의 기능을 대신하도록 다른 컴포넌트를 조정한다.
무선 트랜스포트 인터페이스(WTI)(128)는 이동 장치(106)로의 무선 게이트웨이의 인터페이스이고, 패킷의 순서대로 이동 장치에 지정되며, 그 포멧은 특정 무선 네트워크(104)에 따른다. 유사하게, 무선 트랜스포트 인터페이스(WTI)(128)는이동 장치로부터의 메시지를 이동 장치로부터 전송된 패킷의 순서에 따라 재조합한다.
무선 트랜스포트 인터페이스(128)는 통상 하나 이상의 무선 네트워크 인터페이스 어댑터(129)를 통하여 무선 네트워크와 통신한다. 일 실시예에 있어서, 무선 네트워크 인터페이스 어댑터는 무선 트랜스포트 인터페이스(128)에 TCP/IP 접속을 하고, 무선 네트워크(104)에 X.25 프로토콜 접속을 하여, 무선 네트워크 인터페이스 어댑터가 무선 트랜스포트 인터페이스(128)로부터의 패킷들을 TCT/IP 접속과 X.25 이동 네트워크 접속을 통해 경로를 지정하거나, 이와 반대의 접속을 통해 경로를 지정한다.
이동 네트워크(104)는 무선 커버리지를 이동 장치(106)에 제공하며, 예를 들면, Mobitex Radio 네트워크, DataTAC 또는 GRPS, CDMA 또는 iDEN 네트워크를 포함하는 복수의 다른 종류의 네트워크일 수 있다. 이동 장치들(106)은 이메일 메시지를 보내고 받도록 구성되는 휴대형 또는 기타 이동 디지털 컴퓨팅 장치일 수 있다.
본 발명은 게이트웨이(100)에 이용된 특정 프로토콜 또는 방법론에 따르지 않고 클라이언트 네트워크(110)와 무선 네트워크(104) 사이의 메시지를 교환한다. 오히려, 본 발명은 게이트웨이(100) 등의 네트워크를 구현하는데 이용되는 하나 이상의 컴퓨터의 메모리 관리의 양태에 관한 것이다.
도 2는 소프트웨어 컴포넌트(140)의 블록도를 도시하며, 이 소프트웨어 컴포넌트는 마이크로프로세서(130)로 실행하기 위하여, 게이트웨이(100)에 있는 무선 트랜스포트 인터페이스(WTIs)(128)와, 클라이언트 네트워크 인터페이스(CNIs)와,제어기(122) 및 데이터베이스(124) 등의 적어도 일부의 컴포넌트에 상주하거나 액세스한다. 또, 그 소프트웨어 컴포넌트는, 전술한 바와 같이, 일 실시예의 운용 체계인 MicrosoftTMWindowsTM군인 운용 체계(OS)(142)와, 특정 응용 프로그램(1441-144N)을 포함한다. 특정 응용 프로그램(1441-144N)은 각각의 게이트웨이 컴포넌트들이 그들 각각의 기능들을 수행하는데 필요한 응용 프로그램들이다. 게이트웨이의 각 컴포넌트에 위치되거나 이용가능한 특정 응용 프로그램의 특정 혼합은 일반적으로 그 컴포넌트에 의해 수행되는 기능들에 의존할 것이다.
종래 기술에 공지된 바와 같이, OS(142)는 특정 응용 프로그램(1441-144N)의 오퍼레이션을 조정하고 모니터링하며, 그 특정 응용 프로그램마다 자원을 할당하도록 구성된다. OS(142)가 특정 응용 프로그램 사이에 할당하는 가장 중요한 자원들 중에 하나는 비상주 메모리, 즉 RAM(132)이다. 도 3은 도식적으로 메모리(150)의 블록을 도시하며, 운용 체계(142)가 특정 응용 프로그램(1441-144N) 사이에 할당할 수 있는 RAM(132)의 일부분을 나타낸다. 통상적으로, 응용 프로그램의 기동시, 운용 체계는 메모리(150)의 보조 세트 또는 블록을 응용 프로그램에 예약(book)하거나 할당한다. 도 3에 있어서, 블록(1521-152N)은 특정 응용 프로그램(1441-144N)에 각각할당되어 있는 메모리 블록을 나타낸다. 종래 기술에 공지된 바와 같이, 각 메모리 블록(152)을 구현하는데 이용되는 물리적인 메모리는 RAM(132)의 물리적인 메모리 위치를 실행할 필요가 없으며, 연속적인 데이터 그룹은 연속하는 물리적인 메모리 위치에 저장될 필요가 없다.
본 발명에 따르면, 소프트웨어 컴포넌트(140)는 적은 메모리 상황을 관리하는 특정 응용 프로그램, 즉 적은 메모리 관리자 응용 프로그램을 포함한다. 도 2에서 개별 응용 프로그램을 보여주었더라도, 적은 메모리 관리자(146)의 기능력은, 일부 실시예에 있어서, 다른 특정 응용 프로그램(1441-144N) 또는 운용 체계(142)에 전부 또는 일부가 통합될 수 있다. 적은 메모리 관리자(146)는 모든 또는 선택된 특정 응용 프로그램(1441-144N)에 할당된 메모리의 일부분이 효율적으로 예비 할당되도록 구성하여, 적은 메모리의 출현시 하나의 측정 응용 프로그램을 지원하는데 이용될 수 있게하고, 이에 따라 데이터 백업 또는 치료 조치가 그 장애 응용 프로그램이 충돌하기 전에 수행될 수 있는 시간을 제공한다.
도 4는 본 발명의 실시예에 따라 적은 메모리 관리자(146)가 특정 응용 프로그램(144i)(1 ≤i ≤N)의 적은 메모리 상태를 관리하는 프로세스(400)를 도시한다. 단계(402)에서는, 적은 메모리 관리자가 독립 실행 응용 프로그램(stand alone application)이거나 운용 체계에 통합되는 실시예에 있어서, 그 운용 체계에 의해 기동되는 모든 특정 응용 프로그램을 모니터링하여, 그 기동되는 특정 응용 프로그램(그 예로서, 응용 프로그램 144i)이 적은 메모리 관리를 위하여 미리 선택되었는지를 결정하고, 선택되었다면, 이후에 설정된 메모리 관리 기능들을 수행한다. 몇몇 실시예에 있어서, 모든 특정 응용 프로그램은 적은 메모리 관리를 위해 선택될 수 있다. 이러한 경우에, 단계(402)는 생략될 수 있다. 몇몇 실시예에 있어서, 적은 메모리 관리자(146)는 특정 응용 프로그램(144i)의 모듈일 수 있고, 그 관련된 특정 응용 프로그램(144i)에 관해서만 그 메모리 관리 단계들을 자동으로 수행하도록 구성될 수 있다.
적은 메모리 관리가 특정 응용 프로그램(144i)에 관하여 수행되는 경우에, 단계(404)에 지시된 바와 같이, 적은 메모리 관리자(146)는 운용 체계에 지시하여 예비 할당 메모리 블록을 특정 응용 프로그램(144i)에 대하여 할당하도록 한다. 앞서 논의한 바와 같이, 운용 체계(142)가 특정 응용 프로그램(144i)을 처음 기동할 때, 메모리(152i)(도 3)의 블록을 그 응용 프로그램에 대하여 예약하거나 할당한다. WindowsTM운용 체계 실시예에 있어서, 메모리 블록은 2GB일 수 있으며, 이것은 WindowsTM가 현재 응용 프로그램에 할당할 수 있는 최대 메모리량이다. 본 발명의 실시예에 따르면, 단계(404)에서, 적은 메모리 관리자(146)는 운용 체계가 메모리 블록(152i) 내에 2개의 예비 할당 보조 블록을 예약하거나 할당하여, 3개의 보조 블록, 즉 메인 블록(158) 및 2개의 예비 버퍼(B1 154, B2 156)로 나뉘어지도록 한다. 메인 블록(158)은 특정 응용 프로그램(144i)의 정상 오퍼레이팅 요건에 모두 이용할 수 있게 만들지만, 운용 체계(142)와 특정 응용 프로그램(144i) 모두의 전망에서, 2개의 예비 버퍼(B1 154, B2 156)는 예약되며, 적은 메모리 관리자(146)에 의해 비워(free)질 때까지 이용 불가능하다. 종래 기술에 공지된 바와 같이, 운용 체계(142)는 통상적으로 메모리를 소정 크기의 "페이지"로 나눈다. 적은 메모리 관리자(146)가 특정 응용 프로그램(144i)의 기동시 예비 버퍼(B1 154, B2 156)를 예약하더라도, 일 실시예에 있어서, 그 예비 버퍼는 데이터를 실제로 기록할 때까지 운용 체계에 의해 메모리 페이지로 물리적으로 분할되지 않으며, 이에 따라 불필요한 프로세스 동작을 줄인다.
일 실시예에 있어서, 예비 버퍼(B1 154, B2 156)는 메인 블록(158)에 비하여 비교적 적으며, 제2 예비 버퍼(B2 156)는 제1 버퍼(B1 154)보다 작다. 어떤 제한없이 예를 들어보면, 일 실시예에 있어서, 메인 블록(158)은 응용 프로그램(144i)에 대하여 할당되었던 메모리 블록(152i)의 대략 88%이고, 제1 예비 버퍼(B1 154)는 메모리 블록(152i)의 대략 10%이며, 제2 예비 버퍼(B22 156)는 메모리 블록(152i)의 대략 2%이다. 그러나, 다양한 실시예에는 버퍼 크기가 다른 것이 이용되며, 일부의 실시예에서는 제1 및 제2 예비 버퍼들의 크기가 동일하다.
특정 응용 프로그램(144i)을 실행할 때, 그 메모리 요건 때문에 메인 메모리 블록(158)을 이용할 것이다. 응용 프로그램(144i) 및 운용 체계(142)는 종래 기술에 공지된 다양한 메모리 관리 기법을 적용하여, 하드 드라이브(134)에 데이터를 캐시하는 것과 같이 메인 블록(158) 내에서 메모리의 사용량을 관리할 수 있다.
종래 기술에 공지된 바와 같이, 운용 체계(142)는 특정 응용 프로그램(144i)의 메모리 사용량을 모니터링하고, 특정 응용 프로그램(144i)의 가용 메모리가 소정의 임계치 이하로 떨어지는 경우(가용 메모리가 제로일 수 있는)에 아웃 오브 메모리 예외를 발행하도록 구성된다. 많은 특정 응용 프로그램에 있어서, 아웃 오브 메모리 예외는 교정 동작 또는 치유 동작이 실행될 수 있는 충분한 경보없이, 특정 응용 프로그램의 즉각적인 또는 거의 즉각적인 충돌을 일으킨다. 본 발명의 적은메모리 관리자(146)는 긴급한 아웃 오브 메모리 문제의 경보가 신속히 조기에 제공되게 하여 조정 동작 또는 치유 동작이 응용 프로그램의 충돌 전에 취해질 수 있도록 하는 신규한 방법을 제공한다.
보다 구체적으로 말하면, 단계(406)에서 지시된 바와 같이, 적은 메모리 관리자(146)는, 특정 응용 프로그램(144i)이 실행 중인 기간 동안에, 특정 응용 프로그램(144i)에 관하여 운용 체계(142)가 발행한 아웃 오브 메모리 예외를 검출하도록 구성된다. 아웃 오브 메모리 예외는 메모리 블록(158)의 가용 메모리가 운용 체계 임계치 이하로 떨어지는 경우에 발생할 것이다. 단계(408)에 지시된 바와 같이, 특정 운용 프로그램(144i)에 관하여 운용 체계가 발행한 아웃 오브 메모리 예외를 검출시, 적은 메모리 관리자(146i)는 운용 체계(142)에 지시하여, 메인 블록(158)과 버퍼(B1)의 메모리를 효율적으로 통합하는 제1 예비 버퍼(B1 154)를 복구하며, 이에 따라 특정 응용 프로그램(144i)과 운용 체계(142)의 전망으로부터, 특정 응용 프로그램이 이용할 수 있는 빈 메모리량을 증가시킨다. 새롭게 비워지는 메모리는 긴급한 충돌을 예방하지 않으면 많은 경우에 지연될 것이다.
메모리를 비우는 것 이외에, 단계(410)에 지시된 바와 같이, 적은 메모리 관리자는 또한, 교정 또는 치유 동작이 취해질 수 있도록 제1 경보를 발생한다. 일부 실시예에 있어서, 제1 경보는 인간 오퍼레이터에게 어떤 상태를 경고하기 위한 오디오 신호 및/또는 시각 신호가 될 수 있다. 추가적으로 또는 대안으로, 그 경보는 장애 컴퓨터 상에서 실행 중인 관리 응용 프로그램에 전해지는 전자 신호 또는 변수가 될 수 있다. 관리 응용 프로그램은 개별적으로 특정된 응용 프로그램일 수 있거나, 그 장애 특정 응용 프로그램의 모듈 또는 적은 메모리 관리자(146)의 모듈이 될 수 있다. 몇몇 실시예에 있어서, 그 장애 컴퓨터가 네트워크에 의해 접속되는 원격 컴퓨터에서 실행 중인 관리 응용 프로그램으로 경보 신호가 보내질 수 있다. 예를 들면, 분배형 게이트웨이(100)의 무선 트랜스포트 인터페이스(128k) 상에서 적은 메모리 관리자(146)가 실행 중인 것을 구현할 때, 경보 신호는 제어기(122) 상에서 실행 중인 관리 응용 프로그램으로 보내져서, 인간 오퍼레이터가 그 문제점을 조사할 수 있게 차례로 경보를 발행한다. 제어기 (122) 상에 관리 응용 프로그램은 자동으로 또는 인간 오페레이터의 조정으로 수정 동작을 취하도록 구성될 수 있다. 예를 들면, 제어기(122) 상의 관리 응용 프로그램은 전자 트래픽이 다른 무선 트랜스포트 인터페이스(128)로 경로 지정되게 하여, 그 장애 무선 트랜스포트 인터페이스의 수요의 일부를 완화한다. 몇몇 실시예에 있어서, 제1 경보 신호 후에, 메모리(152i)의 정보를 영구 저장 장치에 저장하는 단계들이 취해질 수 있다.
다시, 프로세스(400)로 돌아가서, 예비 버퍼(B1 154)가 복구되면, 적은 메모리 관리자(146)는 운용 체계(142)가 특정 응용 프로그램(144i)에 관하여 제2 아웃 오브 메모리 예외를 발행하는 경우를 알기 위하여 대기한다(단계 412). 제2 아웃 오브 메모리 예외를 대기하는 동안, 그 특정 응용 프로그램은 제1 예비 버퍼(B1 154)를 다시 예비 할당하기 위한 시도를 주기적으로 시도한다. 즉, , 특정 응용 프로그램(144i)의 메모리 사용량이 예비 버퍼(B1 154)가 필요없는 정도까지 드롭 다운하는 경우, 운용 체계(142)에 의해 메모리는 적은 메모리 관리자(146)에 의해 다시 예비 할당될 것이고, 그렇지 않으면, 운용 체계(142)에 의해 메모리는 적은 메모리 관리자로 복구될 수 없을 것이다. 적은 메모리 관리자가 제1 버퍼(B1)를 다시 복구하기 위한 시도의 횟수는 본 발명의 일 실시예로 구성할 수 있다. 예비 버퍼 (B1 154)가 더 이상 필요없고, 단계(414)에서 적은 메모리 관리자에 의해 다시 예비 할당되는 경우에, 적은 메모리 관리자는 리셋하고, 아웃 오브 메모리 예외가 새롭게 처음 출현하는 것을 기다리기 위하여 단계(406)로 복귀한다.
다시, 단계(412)로 돌아가서, 운용 체계(142)는 예비 버퍼(B1 154)의 복구로 인하여 이용할 수 있는 추가 메모리를 모두 사용하는 경우에 추가의 아웃 오브 메모리 예외를 발행할 것이다. 제2 아웃 오브 메모리 예외의 발생은 통상적으로 제1 경보에 응답하여 취해지는 교정 동작이 실패했다는 것을 나타내거나, 제1 경보를 무시했다는 것을 나타낼 것이다.
단계(416)에서 나타낸 바와 같이, 제2 아웃 오브 메모리 예외에 응답하여, 적은 메모리 관리자(146)는 메인 블록(158)과 이전에 복구된 제1 예비 버퍼 (B1 154)를 버퍼(B2)의 메모리와 효율적으로 통합하여 제2 예비 버퍼(B2 156)를 복구하며, 이에 따라 특정 응용 프로그램(144i)과 운용 체계(142)의 전망으로부터, 특정 응용 프로그램에 의해 이용할 수 있는 빈 메모리량을 증가시킨다. 그 새롭게 복구된 메모리는 바람직하게는 장애 응용 프로그램의 충돌 전에 일어난 동작을 지원하는 충분한 복구 시간, 예를 들면 메모리 블록(152i)에서 선택된 정보가 나중에 검색될 수 있도록 영구 저장 위치에 저장되는 시간을 번다.
단계(418)에 지시된 바와 같이, 제2 예비 버퍼를 복구할 때, 적은 메모리 관리자는 바람직하게는 충돌이 임박하고 있다는 신호로 제2 경보를 발행한다. 몇몇실시예에 있어서, 제2 경보는 특정 응용 프로그램(144i)의 셧다운을 시작하기 위한 효율적인 명령이다. 바람직하게, 제2 경보는 장래에 일어날 복구 지원 활동을 트리거한다. 몇몇 실시예에 있어서, 제2 경보는 기타 응용 프로그램로 또는 장애 응용 프로그램과 동일한 컴퓨터 상에 위치되는 응용 프로그램 내로 지나는 신호 또는 변수일 수 있다. 대안으로 또는 추가적으로, 제2 경보는 다른 컴퓨터에 관하여 원격 위치된 관리 응용 프로그램으로 보내질 수 있다.
예에 어떤 제한을 두지 않음으로써, 장애 특정 응용 프로그램(144i)은 무선 트랜스포트 인터페이스(128k) 상에서 실행될 수 있고, 발신 메세지를 이동 장치(106)로 보내고, 이동 장치(106)로부터 수신 메시지를 수신하기 위하여 응답될 수 있다. 특정 응용 프로그램은 메모리 블록(152i) 내에 보류 메시지 버퍼를 유지하고, 이 보류 메시지 버퍼는 이동 장치(106)로부터 보내기 위해 대기 중인 보류 발신 메시지와, 이동 장치(106)로부터 수신되었지만 아직 게이트웨이(100)에 의해 처리되지 않은 보류 수신 메시지를 포함한다. 그 보류 메시지들은 특히, 에러 코드와 승인 등의 상태 메시지와 종래의 이메일 메시지를 포함할 수 있다. 보류 메시지버퍼에서 일부 보류 메시지의 전송은 "손실" 메시지, 즉 이동 장치(106) 등의 발신 장치에 이 장치로부터 전송된 이메일 메시지의 상태에 대한 부정확하거나 불명료한 정보로 남겨지는 메시지를 피하기 위해 중요할 수 있다. 따라서, 특정 응용 프로그램(144i)의 긴박한 충돌의 경우에, 메시지 손실을 피하기 위하여 궁극적으로 보낼 필요가 있는 메모리 블록(152i) 내의 최소의 중요한 보류 메시지를 영구 저장 장치에 직렬 변환하는 것이 바람직하다.
현재 기술된 예로서, 특정 응용 프로그램(144i)은 단계(418)에서 발행된 제2 경보를 수신한 후에, 메모리 블록(152i)에 저장되는 중요한 메시지를 영구 저장 장치로 직렬 변환하는 것을 포함하는 셧다운 루틴을 시작하며, 이에 따라 중요한 보류 메시지가 나중에 검색되어 보내질 수 있도록 구성되는 셧다운 관리자(160)를 포함한다. 이 메시지는 장애 응용 프로그램이 실행 중인 컴퓨터의 로컬 영구 저장 장치 또는 데이터베이스(124)로 직렬 변환될 수 있다. 단계(418)에서 발행된 제2 경보는 바람직하게는 제어기(132)에 직접 또는 간접적으로 제공되며, 그로 인해, 모든 트래픽이 충돌 응용 프로그램을 실행하고 있는 무선 트랜스포트 인터페이스 (128k)로부터 다시 경로 지정되며, 하나 이상의 다른 무선 트랜스포트 인터페이스를 지정하여 트래픽을 대신하고, 또 그 직렬 변환된 중요한 메시지를 검색하여 보낼 수 있다.
따라서, 본 발명의 적은 메모리 관리 프로세스가 아웃 오브 메모리 상황에 기인한 응용 프로그램의 긴박한 충돌의 진행 경보를 제공하고, 이에 따라 수정 동작들이 충돌을 예방하기 위하여 취해지고, 또 충돌이 발생하는 경우 중요한 데이터를 잃지 않도록 복구 지원 동작들이 취해진다. 전술한 실시예에 있어서, 2개의 예비 버퍼들은 응용 프로그램에 이용할 수 있는 메모리로부터 예비 할당된다. 아웃 오브 메모리 예외가 발행되면, 제1 예비 버퍼는 복구되고 경보가 발행되어, 자동 동작 또는 인간의 조사 및 수정 동작 중 하나가 발생할 수 있다. 경보에 의해 성공적으로 고쳐지지 않으면, 제2 아웃 오브 메모리 예외가 수신되어, 제2 버퍼가 복구되고, 중요한 데이터가 영구 메모리에 저장되는 동안에 응용 프로그램의 통제된 셧다운을 시작한다. 적은 메모리 관리자(146)는 자체의 메모리 사용량을 직접적으로 또는 연속적으로 모니터링하기 위하여 시도하기 보다는 오히려 운용 체계(142)에 의해 발행된 아웃 오브 메모리 예외에 의존한다. 결과적으로, 적은 메모리 관리자 (146)는 구현시 컴퓨터의 프로세싱 자원을 매우 적게 이용한다.
일부 실시예에 있어서, 2개의 예비 버퍼는 어느 정도 이용될 수 있다.
일 실시예에 있어서, 전술한 본 발명의 실시예를 구현하는 컴퓨터 실행가능한 명령어들을 내장한 컴퓨터 판독가능한 매체를 갖는 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 판독가능한 매체는 특히 자기 매체 또는 광학 매체 등의 기억 매체일 수 있고, 또한 컴퓨터 실행가능한 명령어가 변조되어 있는 전기 신호 또는 광신호 등의 통신 매체일 수 있다.
본 발명의 전술한 실시예는 단지 예를 들은 것이다. 당업자에 의한 특정 실시예는 첨부한 청구 범위에 정의되어 있는 본 발명의 범위를 벗어남이 없이 개량, 수정 및 변경에 영향을 미칠 수 있다.
본 발명의 적은 메모리 관리자는 특정 응용 프로그램에 할당된 메모리의 일부분이, 적은 메모리의 출현 동안 특정 응용 프로그램을 지원하는데 이용될 수 있도록, 복구시에 보유되게 구성함으로써, 장애 응용 프로그램들이 충돌하기 전에 데이터 백업 또는 치료 조치들이 수행될 시간을 제공할 수 있다.

Claims (16)

  1. 응용 체계 및 응용 프로그램을 실행하는 프로세서와, 그 응용 체계 및 응용 프로그램의 가용 메모리를 갖는 제1 컴퓨터 장치에서 적은 메모리를 관리하는 방법으로써,
    (a) 상기 응용 프로그램에 이용할 수 없는 제1 예비 버퍼를 복구될 때까지 메모리 블록 내에 예비 할당하는 단계와,
    (b) 상기 응용 프로그램에 의한 메모리 사용량이 임계치에 도달했다고 판정시 상기 응용 프로그램이 사용하기 위해 상기 제1 예비 버퍼를 복구하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 메모리 사용량이 임계치에 도달한 것을 검출시 경보를 발생하는 단계를 포함하는 방법.
  3. 제1항에 있어서, 상기 메모리 사용량이 임계치에 도달한 것을 검출시 경보 신호를 발생하고, 상기 경보 신호를 상기 제1 컴퓨터 장치로부터 네트워크를 통해 다른 컴퓨터 장치로 보내는 단계를 포함하는 방법.
  4. 제3항에 있어서, 상기 경보 신호의 검출시, 상기 제1 컴퓨터 장치로서 공통 네트워크에 접속되는 하나 이상의 또 다른 컴퓨터 장치에 직접 보내어, 상기 제1컴퓨터 장치에 의해 이전에 운반된 로드의 적어도 일부분을 부담하게 하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 메모리 사용량이 임계치에 도달한 것을 판정한 후에 상기 메모리 블록으로부터 선택된 정보를 영구 저장 장치에 저장하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 응용 프로그램에 관하여 상기 운용 체계가 아웃 오브 메모리 예외를 발행한 경우에, 상기 메모리 사용량이 임계치에 도달했는지를 판정하는 것인 방법.
  7. 제1항에 있어서, 상기 단계(a)는 상기 응용 프로그램에 이용 불가능한 제2 예비 버퍼를 상기 메모리 블록 내에 복구될 때까지 예비 할당하는 단계를 더 포함하고,
    상기 방법은 상기 응용 프로그램의 메모리 사용량이 상기 제1 예비 버퍼를 복구한 후의 다른 임계치를 초과하는지를 결정하고, 그러한 경우, 상기 응용 프로그램이 사용하기 위해 상기 제2 예비 버퍼를 복구하는 단계(c)를 더 포함하는 것인 방법.
  8. 제7항에 있어서, 상기 제1 예비 버퍼의 복구로 제1 경보 신호를 발생하고,상기 제2 예비 버퍼의 복구로 제2 경보 신호를 발생하는 단계를 포함하는 것인 방법.
  9. 제7항에 있어서, 상기 제1 예비 버퍼의 복구시, 상기 제1 컴퓨터 장치로서 공통 네트워크에 접속되는 하나 이상의 또 다른 컴퓨터 장치에 직접 보내어 상기 제1 컴퓨터 장치에 의해 이전에 운반된 로드의 적어도 일부를 부담하고, 상기 제1 예비 버퍼의 복구로 자동화 응용 프로그램 셧다운 루틴을 시작하는 단계를 포함하는 것인 방법.
  10. 제7항에 있어서, 단계(b)에서, 상기 응용 프로그램에 관하여 상기 운용 체계가 아웃 오브 메모리 예외(out of memory exception)를 발생한 경우에, 상기 메모리 이용량이 상기 임계치를 초과했는지를 판정하고,
    단계(c)에서, 상기 제1 예비 버퍼가 복구되는 동안에, 상기 응용 프로그램에 관하여 상기 운용 체계가 제2 아웃 오브 메모리 예외를 발생하는 경우에, 상기 메모리 사용량이 임계치를 초과했는지를 판정하는 것인 방법.
  11. 제7항에 있어서, 상기 제1 예비 버퍼의 크기는 상기 제1 예비 버퍼의 크기보다 작은 것인 방법.
  12. 제1항에 있어서, 단계(b) 후에, 상기 응용 프로그램의 메모리 사용량이 임계치 아래로 떨어지는 경우에, 상기 제1 예비 버퍼를 상기 메모리의 블록 내에 다시 예비 할당하는 단계를 더 포함하는 것인 방법.
  13. 프로세서, 메모리, 운용 체계 및 응용 프로그램이 있는 컴퓨터 장치 상의 적은 메모리를 관리하는 시스템으로서,
    적은 메모리 관리자를 포함하고, 상기 적은 메모리 관리자는,
    (a) 상기 적은 메모리 관리자에 의해 복구할 때까지 상기 응용 프로그램에 이용할 수 없는 제1 및 제2 예비 버퍼를 메모리 블록 내에 예비 할당하고,
    (b) 상기 응용 프로그램에 관하여 상기 운용 체계가 발생한 제1 아웃 오브 메모리 예외(out of memory exception)를 검출시에 상기 응용 프로그램이 사용하기 위하여 제1 예비 버퍼를 복구하며,
    (c) 상기 응용 프로그램에 관하여 상기 운용 체계가 발생한 제2 아웃 오브 메모리 예외를 검출시에 상기 응용 프로그램이 사용하기 위하여 제2 예비 할당버퍼를 복구하는 것인 컴퓨터 장치 상의 적은 메모리 관리 시스템.
  14. 제13항에 있어서, 상기 단계(c)에서, 상기 제2 예비 버퍼는, 상기 제2 아웃 오브 메모리 예외가 발생될 때, 상기 제1 예비 버퍼가 복구된 경우에만 복구되는 것인 컴퓨터 장치 상의 적은 메모리 관리 시스템.
  15. 제13항에 있어서, 상기 적은 메모리 관리자는 상기 제1 예비 버퍼 및 상기제2 예비 버퍼의 복구시 경보 신호를 발생하도록 구성되는 것인 컴퓨터 장치 상의 적은 메모리 관리 시스템.
  16. 제13항에 있어서, 상기 제2 예비 버퍼의 복구 후에 상기 메모리 블록으로부터의 적어도 일부 데이터를 영구 저장 장치에 저장하는 셧다운 관리자를 포함하는 것인 컴퓨터 장치 상의 적은 메모리 관리 시스템.
KR1020040047450A 2003-06-24 2004-06-24 아웃 오브 메모리 및 무리없는 셧다운의 검출 KR100941041B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03253973A EP1492006B1 (en) 2003-06-24 2003-06-24 Detection of out of memory and graceful shutdown
EP03253973.6 2003-06-24

Publications (2)

Publication Number Publication Date
KR20050001401A true KR20050001401A (ko) 2005-01-06
KR100941041B1 KR100941041B1 (ko) 2010-02-10

Family

ID=33396017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040047450A KR100941041B1 (ko) 2003-06-24 2004-06-24 아웃 오브 메모리 및 무리없는 셧다운의 검출

Country Status (13)

Country Link
US (2) US7284099B2 (ko)
EP (1) EP1492006B1 (ko)
JP (1) JP4642389B2 (ko)
KR (1) KR100941041B1 (ko)
CN (1) CN100362466C (ko)
AT (1) ATE375553T1 (ko)
AU (1) AU2004202730B2 (ko)
BR (1) BRPI0402518B1 (ko)
CA (1) CA2472473C (ko)
DE (1) DE60316783T2 (ko)
HK (1) HK1072303A1 (ko)
SG (1) SG120167A1 (ko)
TW (1) TWI317477B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2604113C (en) * 2005-04-18 2012-02-21 Research In Motion Limited System and method of waste management
US8725905B2 (en) * 2006-01-11 2014-05-13 Dell Products L.P. Power over ethernet powered management and diagnoses of information handling systems
US8055725B2 (en) * 2006-01-12 2011-11-08 International Business Machines Corporation Method, apparatus and program product for remotely restoring a non-responsive computing system
CN101059768B (zh) * 2006-04-17 2011-01-05 北京软通科技有限责任公司 实现操作系统备用的系统及方法
US8468131B2 (en) * 2006-06-29 2013-06-18 Avaya Canada Corp. Connecting devices in a peer-to-peer network with a service provider
US7761487B2 (en) * 2006-12-13 2010-07-20 Computer Associates Think, Inc. Predicting out of memory conditions using soft references
US7827358B2 (en) 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
JPWO2008102610A1 (ja) * 2007-02-23 2010-05-27 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US8111839B2 (en) * 2007-04-09 2012-02-07 Personics Holdings Inc. Always on headwear recording system
JP2010009408A (ja) * 2008-06-27 2010-01-14 Sony Corp 情報処理装置、およびデータ処理方法、並びにプログラム
US8245012B2 (en) * 2008-10-16 2012-08-14 International Business Machines Corporation Adaptively preventing out of memory conditions
US20110016393A1 (en) * 2009-07-20 2011-01-20 Apple Inc. Reserving memory to handle memory allocation errors
US8528039B2 (en) * 2009-11-04 2013-09-03 Verizon Patent And Licensing Inc. System for and method of set-top box memory monitoring
CN102156675B (zh) * 2010-02-12 2014-03-19 中兴通讯股份有限公司 一种内存分配方法及装置
US7917954B1 (en) * 2010-09-28 2011-03-29 Kaspersky Lab Zao Systems and methods for policy-based program configuration
US9336250B1 (en) * 2011-09-23 2016-05-10 Veritas Technologies, LLC Systems and methods for efficiently backing up data
US8904068B2 (en) * 2012-05-09 2014-12-02 Nvidia Corporation Virtual memory structure for coprocessors having memory allocation limitations
US8990534B2 (en) 2012-05-31 2015-03-24 Apple Inc. Adaptive resource management of a data processing system
US9032168B2 (en) 2012-05-31 2015-05-12 Htc Corporation Memory management methods and systems for mobile devices
US9639399B2 (en) * 2013-02-01 2017-05-02 Tencent Technology (Shenzhen) Company Limited Method, apparatus and terminal for releasing memory
CN104216781B (zh) * 2013-05-29 2019-10-08 上海联影医疗科技有限公司 显存分配方法及系统
US9575837B2 (en) 2015-02-03 2017-02-21 Uber Technologies, Inc. System and method for introducing functionality to an application for use with a network service
US9465734B1 (en) 2015-04-08 2016-10-11 Apple Inc. Coalition based memory management
US10158528B2 (en) 2015-10-13 2018-12-18 Uber Technologies, Inc. Application service configuration system
US11533226B2 (en) 2015-10-13 2022-12-20 Uber Technologies, Inc. Application service configuration system
US11086832B2 (en) * 2015-10-16 2021-08-10 Sap Se Out of memory error handling for data definition language operations
KR20170045452A (ko) * 2015-10-16 2017-04-27 삼성디스플레이 주식회사 백라이트 유닛, 그것의 구동 방법, 및 그것을 포함하는 표시 장치
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
CN112840602B (zh) * 2018-10-22 2024-04-16 Abb瑞士股份有限公司 用于监测基于snmp的网络中的多个设备的方法和控制系统
US10977105B2 (en) 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11442832B2 (en) 2020-11-24 2022-09-13 Hewlett Packard Enterprise Development Lp Managing synchronized reboot of a system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4478251A (en) * 1982-08-02 1984-10-23 Daniel Industries, Inc. Orifice fitting seal assembly
US5065250A (en) * 1986-12-30 1991-11-12 Victor Company Of Japan, Ltd. Image pick-up apparatus
JPH02213252A (ja) * 1989-02-13 1990-08-24 Nec Corp 電子メールシステム
JPH0368044A (ja) * 1989-08-07 1991-03-25 Nec Corp 動的メモリ制御方式
JPH04137046A (ja) 1990-09-28 1992-05-12 Toshiba Corp 電子計算機のオペレーティングシステム
US5069252A (en) * 1990-12-18 1991-12-03 Daniel Industries, Inc. Orifice system intermediate interface
US5318073A (en) * 1992-06-09 1994-06-07 Daniel Industries, Inc. Orifice plate seal
JPH0614055A (ja) * 1992-06-26 1994-01-21 Nec Corp 電子メール転送制御方式
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
JP2713079B2 (ja) * 1993-01-29 1998-02-16 日本電気株式会社 メモリ不足時におけるリカバリ援助方法
JPH06245042A (ja) * 1993-02-12 1994-09-02 Fuji Xerox Co Ltd メモリ管理装置
US5784697A (en) 1996-03-27 1998-07-21 International Business Machines Corporation Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
JPH1031592A (ja) * 1996-07-16 1998-02-03 Nec Corp メモリ管理方法及びメモリ管理システム
US6938254B1 (en) * 1997-05-06 2005-08-30 Microsoft Corporation Controlling memory usage in systems having limited physical memory
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6539024B1 (en) * 1999-03-26 2003-03-25 Alcatel Canada Inc. Method and apparatus for data buffer management in a communications switch
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US6990662B2 (en) * 2001-10-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method and system for offloading execution and resources for resource-constrained networked devices
US7293105B2 (en) * 2001-12-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus for implementing a high availability fibre channel switch
US6985087B2 (en) * 2002-03-15 2006-01-10 Qualcomm Inc. Method and apparatus for wireless remote telemetry using ad-hoc networks
US20040088498A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for preferred memory affinity
US20060231149A1 (en) * 2005-04-19 2006-10-19 Daniel Industries, Inc. Orifice flow meters

Also Published As

Publication number Publication date
DE60316783T2 (de) 2008-07-24
CA2472473C (en) 2008-11-18
EP1492006A1 (en) 2004-12-29
US20080005523A1 (en) 2008-01-03
AU2004202730B2 (en) 2008-09-04
TWI317477B (en) 2009-11-21
US8046556B2 (en) 2011-10-25
BRPI0402518B1 (pt) 2016-07-05
HK1072303A1 (en) 2005-08-19
JP2005018779A (ja) 2005-01-20
CA2472473A1 (en) 2004-12-24
EP1492006B1 (en) 2007-10-10
ATE375553T1 (de) 2007-10-15
JP4642389B2 (ja) 2011-03-02
SG120167A1 (en) 2006-03-28
TW200517834A (en) 2005-06-01
BRPI0402518A (pt) 2005-05-31
US7284099B2 (en) 2007-10-16
CN100362466C (zh) 2008-01-16
CN1577258A (zh) 2005-02-09
AU2004202730A1 (en) 2005-01-20
KR100941041B1 (ko) 2010-02-10
US20040268078A1 (en) 2004-12-30
DE60316783D1 (de) 2007-11-22

Similar Documents

Publication Publication Date Title
KR100941041B1 (ko) 아웃 오브 메모리 및 무리없는 셧다운의 검출
EP1550036B1 (en) Method of solving a split-brain condition in a cluster computer system
US20010037473A1 (en) Backup apparatus and a backup method
US7290086B2 (en) Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
US7076691B1 (en) Robust indication processing failure mode handling
US7093013B1 (en) High availability system for network elements
US8266301B2 (en) Deployment of asynchronous agentless agent functionality in clustered environments
US8150958B2 (en) Methods, systems and computer program products for disseminating status information to users of computer resources
CN106169999A (zh) 会话备份的方法及装置
CN114553900B (zh) 一种分布式块存储管理系统、方法及电子设备
CN112231601B (zh) 链接管理方法、装置、设备及计算机存储介质
CN112637337B (zh) 一种数据处理方法及装置
CN100437499C (zh) 计算机平台快取资料备援处理方法及系统
JP3208885B2 (ja) 障害監視システム
CN113946376A (zh) 负载调整方法、装置、电子设备及存储介质
CN102833096A (zh) 一种低成本的高可用系统实现方法及装置
JP2004185573A (ja) データ書込方法および装置
JP2000148525A (ja) サービスプロセッサ二重化システムの現用系負荷軽減方法
JPH1125062A (ja) 障害回復システム
KR100235570B1 (ko) 2이상의 주전산기를 병립 연결한 시스템의 클러스터 관리 마스터 시스템의 클러스터 관리방법
JPH0421039A (ja) 遠隔監視情報復元方式
JPH08147255A (ja) 障害監視方式
JP2005346258A (ja) クラスタ構成システム、障害管理方法及び記憶媒体
JPH04291650A (ja) データ破壊防止機能を有する情報処理システム
JPH1021168A (ja) コンピュータシステム及びその状態復旧方法

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

Payment date: 20130117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180125

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190123

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200123

Year of fee payment: 11