이하에서는 객체 및/또는 객체와 관련되는 동작에 대한 신뢰 수준을, 이런 객체가 웹 페이지에 포함되거나, 링크되거나, 아니면 관련되어 있다고 검출될 때, 평가하는 기술에 관해 설명한다. 또한 사용자에게 객체-관련 동작이 억제되고 있다는 것을 알려서, 사용자에게 객체의 신뢰 수준에 기초하여 억제된 객체-관련 동작의 활성화를 허용하거나 취소할 대화형 기회를 제공하기 위한 모델리스 프롬프트를 갖는 사용자 인터페이스에 관한 것이다.
도 1은 검출된 객체의 신뢰 수준 분석을 실행하는 신뢰 수준 분석 구성 요소(107)를 갖는 컴퓨팅 장치(105)의 일 예를 나타낸다. 검출된 객체는 소스(115 또는 120)로부터 네트워크(110)를 거쳐 수신된 웹 페이지와 관련된다.
컴퓨팅 장치(105)는 데스크톱 개인용 컴퓨터(PC)와 같은 종래의 각종 컴퓨팅 장치들 중 임의의 것일 수 있다. 다르게, 컴퓨팅 장치(105)는 유선 및/또는 무선 링크에 의해 네트워크(110)와 통신할 수 있는 개인용 정보 단말기(PDA), 랩톱 컴퓨터, 스마트폰 등과 같은 네트워크 관련 장치일 수 있지만, 이에 제한되지는 않는다. 클라이언트 장치(105)의 일 실시예는 도 10을 참조하여 이하 더욱 상세히 설명된다.
데이터 소스(115 및 120) 중 어느 것도 컴퓨팅 장치(105)에 각종 데이터 및/또는 기능을 제공하는 서버 장치일 수 있다. 데이터 소스(115 및 120)는 네트워크 서버 또는 어플리케이션 서버와 같은 서버 장치일 수 있다. 네트워크 서버는 네트워크(110)에 의해 컴퓨팅 장치(105)에 컨텐트를 전달하는 서버 장치이다. 이런 컨텐트는 하이퍼텍스트 마크업 언어 (HTML)로 코드된 웹 컨텐트를 포함할 수 있고, 이는 또한 자바스크립트 코드 또는 기타 명령을 포함할 수 있다. 데이터 소스(115 및 120) 중 어느 것이든 월드 와이드 웹(WWW)의 부분인 다른 네트워크(예를 들어, 네트워크(110)가 인터넷을 포함하는) 뿐만 아니라, 인트라넷과 같은 월드 와이드 웹의 일부가 아닌 다른 네트워크에서도 이용될 수 있다는 것이 이해될 것이다.
도 2는 웹 페이지와 관련되는 것으로 검출된 객체의 신뢰 수준 분석을 실행하는 일 실시예의 기능적 구성 요소들을 나타낸다. 도 2의 예는 도 1의 예를 참조하여 설명되며, 여기에서 신뢰 수준 분석(107)은 소스(115) 또는 소스(120)로부터, 네트워크(110)를 통해 수신된 웹 페이지와 관련되는 검출된 객체에 대해서 컴퓨팅 장치(105) 상에서 실행된다.
도 2의 예에 따르면, 웹 페이지(207)가 컴퓨팅 장치(105)의 브라우저 상에 로딩될 때, 객체 검출기(205)는 웹 페이지(207)에 포함되거나, 링크되거나 아니면 관련되는 객체(208)를 검출할 수 있게 된다. 객체(208)의 예는 애드웨어 및 바이러스를 포함하고, 이들 각각은 다운로드가 가능한 코드, 링크, URL, 팝업 창, 및 데이터 파일로서 컴퓨팅 장치(105)에 노출되게 된다. 객체 검출기(205)는 컴퓨팅 장치(105)의 브라우저 상의 또는 운영 체제에서의 모듈일 수 있다. 객체의 검출은 객체와 관련되는 동작이 활성화되기 전에 행해지며, 예를 들어, 코드를 로드하고, HTML 문서를 열고, 데이터 파일을 억세스 및/또는 열려는 시도의 검출을 포함할 것이다.
신뢰 수준 분석기(210)는 객체(208)와 관련되는 컨텐트, 소스 또는 동작 중 적어도 하나에 기초하여 검출된 객체(208)에 주어지는 신뢰 수준을 평가한다. 객체(208)에 주어진 신뢰 수준은 객체의 동작이 방해 없이 활성화될 수 있는지, 객체의 동작의 활성화를 대화형으로 허용하거나 취소할 기회가 사용자에게 제공되는 동안 동작이 억제되는지, 또는 객체의 동작이 아주 차단되는지의 여부에 영향을 준다. 다른 신뢰 수준들 및 이들의 결과들은 당업자에게는 명백하며, 또한 본 명세서에 제공된 예들이 제한적인 것으로 생각되어서는 안된다는 것이 이해될 것이다.
명백한 신뢰 수준을 갖는 것으로 평가된 객체들은 방해 없이 그 관련 동작들이 활성화된다. 기타 모든 객체들은 그 관련 동작들이 억제기(215)에 의해 억제되고 있다. 사용자에게 객체의 동작의 억제를 알리고, 또한 사용자에게 객체의 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하기 위한 사용자 인터페이스(220)가 제공된다.
도 3은 일 실시예의 처리 개괄을 제공한다. 도 3의 예는 상술한 도 1 및 도 2의 실시예들을 참조하여 설명된다.
도 3과 관련하여, 웹 페이지(207)가 컴퓨팅 장치(105) 상에서 인터넷이나 인트라넷의 브라우저에 로딩되면, 객체(208)는 웹 페이지(207)와 관련된 것으로 검출되게 된다(310). 객체(208)의 검출(310)은 객체(208)의 컨텐트, 소스 및 동작 중 적어도 하나를 결정하기 위해서 객체(208)의 코드를 평가하는 것을 포함한다. 본 명세서에 기재된 실시예는 인터넷이나 인트라넷의 브라우저에만 제한되는 것은 결코 아닌 것을 주지해야 한다. 예를 들어, 임의이 멀티미디어 문서 판독기 또는 재생기가 이에 결합될 수 있다. 그러나, 본 실시예들은 인터넷 및 인트라넷 브라우저에 관련하여 설명되지만, 이에 제한되지 않음을 이해해야 한다.
객체(208)의 동작이 사용자에 의해 개시되었는지의 여부에 대한 추가 판단(315)이 선택적으로 행해질 수 있다. 즉, 브라우저 상에서 웹 페이지(207)의 로딩 이전이나 로딩 동안에, 객체(208)의 동작이 컴퓨팅 장치(105)의 사용자에 의해 이미 요청되었는지 그렇지 않으면 개시되었는지를 판단하기 위해 브라우저 설정이 평가될 수 있다. 예를 들어, 객체(208)에 대응하는 인증서가 컴퓨팅 장치(105) 상의 기존의 프로그램에 대한 것과 동일한 것인 경우 컴퓨팅 장치(105) 상의 기존의 프로그램을 업그레이드하는 파일을 포함하기 위해 객체(208)가 검출될 수 있다.
활성화 기회(320)는 객체(208)의 동작을 자동으로 활성화하는 것을 포함한다. 다른 실시예들은 사용자에게 객체(208)의 동작의 활성화를 대화형으로 허용하든지 취소할 기회를 제공하는 모달 프롬프트를 표시하거나, 사용자에게 임박한 동작을 알리기 위한 모델리스 프롬프트를 표시한다. 컴퓨팅 장치(105)의 보안 설정 및/또는 브라우저 설정은 상기한 활성화 기회(320)의 옵션들 중의 임의의 것을 수용하도록 구성될 수 있다.
도 3의 예에서, 객체(208)의 동작이 사용자 개시되었다고 판단되면(315), 동작은 자동으로 활성화된다. 그러나, 네트워크(110) 사이에서 순환되는 다량의 불 량 소프트웨어가 증가하는 것을 감안하여, 사용자에게 객체(208)의 동작의 임박한 활성화를 알리고/알리거나 사용자에게 이런 활성화를 취소할 마지막 한번의 기회를 제공하기 위해서 프롬프트를 표시하도록 하는 특별한 경고 수단을 취한다. 프롬프트는 모달 프롬프트나 모델리스 프롬프트 어느 것이나 가능하다.
모달 프롬프트는 사용자가 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소하는 것을 요구한다. 한편, 모델리스 프롬프트는 단지 사용자에게 동작을 알리는 것으로, 사용자가 동작을 부주의하게 활성화시킬 가능성을 줄여준다. 모델리스 프롬프트가 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하지 않는 반면, 모델리스 프롬프트는 객체(208)의 설명을 표시하여, 사용자가 동작의 활성화를 대화형으로 허용하거나 취소할 다른 기회를 제공한다. 이런 모델리스 프롬프트의 상세 사항을 도 8a, 도 8b 및 도 9를 참조하여 이하 더욱 설명한다.
사용자 개시되지 않았다고 선택적으로 결정된(315) 객체(208)의 동작에 대해 신뢰 수준 분석이 실행된다(325). 도 2와 관련하여 상술한 바와 같이, 브라우저의 보안 설정이 평가되었을 때, 예를 들어, 객체(208)와 관련되는 컨텐트, 소스 및 동작 중 적어도 하나에 기초하여 검출된 객체(208)에 신뢰 수준이 주어진다. 따라서, 신뢰 수준은 계층화되어 있는 것으로 생각될 수 있다. 즉, 단순히 신뢰되거나 신뢰되지 않는 것으로 판단되는 것 이상으로, 객체(208)에는 객체(208)에 대응하는 컨텐트, 소스 및 동작에 따라서 가변의 신뢰 수준이 주어진다. 객체(208)의 신뢰 수준은 활성화 기회(320) 내의 어느 옵션이 객체(208)의 동작에 대해 실현되는지에 영향을 미친다. 신뢰 수준 분석(325)은 도 4 내지 도 7의 예에 따라서 이하 더욱 상세히 설명된다.
객체(208)가 그 컨텐트, 소스 및 동작의 가변 조합에 기초하여 적어도 임계 수준의 신뢰 수준이 주어지지 않으면, 이 객체는 차단된다(330). 객체가 차단되면, 객체의 동작이 억제된다. 따라서, 코드를 로딩하고, HTML 문서를 열고, 데이터 파일을 억세스하고/하거나 열려는 시도는 사용자가 객체를 차단하지 않으려는 기회를 대화형으로 허용하지 않고서는 이루어지지 않는다.
그 동작이 차단된 객체(208)에 대해서, 컴퓨팅 장치(105)가 해롭고, 원치 않고/거나 불필요한 소프트웨어에 노출되는 것을 방지하기 위해 다른 경고 수단을 취할 수 있다. 따라서, 객체(208)가 차단된 것에 응답하여 모달 프롬프트 또는 모델리스 프롬프트 중 어느 하나를 표시할 수 있거나, 객체(208)의 동작에 활성화 기회를 전혀 주지 않을 수도 있다. 상술한 바와 같이, 모달 프롬프트는 사용자에게 차단된 객체(208)의 동작을 대화형으로 무시할 기회를 제공한다. 모달 프롬프트는 사용자에게 객체(208)의 동작이 차단된 것을 알리지만, 또한 사용자가 객체(208)의 동작의 활성화를 대화형으로 허용할 기회를 제공한다.
객체(208) 및/또는 관련 동작이 차단되고(330) 모달 프롬프트나 모델리스 프롬프트가 표시되면, 사용자는 객체(208)의 동작을 활성화할 다른 기회를 얻게 된다. 모달 프롬프트는 통상적으로 사용자가 객체(208)의 동작의 활성화를 "허용"하거나 "취소"하는 옵션을 포함한다. 모델리스 프롬프트는 객체의 동작이 차단된 것을 나타내는 보고를 표시하지만, 또한 사용자에게 객체(208)의 상세 사항 및 차단 된 동작을 검토할 기회를 제공하여, 동작의 활성화를 대화형으로 허용하거나 취소할 또 다른 기회를 유도한다. 모델리스 프롬프트의 예의 상세 사항을 도 8a, 8b 및 9와 관련하여 이하 설명한다.
사용자가 객체(208)의 동작을 활성화할 기회를 대화형으로 허용할 때, 웹 페이지(207)는 동작이 활성화되게 하기 위해서 통상 리로드된다(즉, 새로 고쳐짐). 한편, 사용자가 객체(208)의 동작의 활성화를 대화형으로 취소하면, 객체(208)를 컴퓨터 장치(105)로부터 아주 삭제하거나 또 다른 프롬프트를 사용자에게 표시하는 것으로 객체는 차단될 수 있다(330).
도 4 내지 도 7은 도 3의 예의 더욱 상세한 실시예를 설명하기 위한 것이다. 도 4 내지 도 7은 더욱 상세하게 도 3의 분석기(210)에 의해 실행된 신뢰 수준 분석(325)에 관한 상세 사항을 제공하여, 계층화된 신뢰 수준 중 어느 것이 객체(208)에 주어지는지를 평가한다. 도 4는 신뢰 수준 분석이 브라우저 상의 비사용자 활성화 코드 다운로드에 실행되는 예를 나타내며; 도 5는 신뢰 수준 분석이 브라우저에서 안전하게 실행되거나 실행되지 않을 수도 있는 코드 다운로드에 실행되는 예를 나타내며; 도 6은 신뢰 수준 분석이 팝업 창에서 실행되는 예를 나타내며; 도 7은 신뢰 수준 분석이 컴퓨팅 장치(105)의 보안 설정을 초과하거나 초과하지 않을 수도 있는 탐색 객체에 대해 실행되는 예를 나타낸다.
도 4 내지 도 7은 주로 신뢰 수준 분석(325)의 성능에 있어서 도 3과 다르다. 따라서, 도 4 내지 도 7에 대한 이하의 기재는 신뢰 수준 분석(325)의 성능을 강조하여 제공된다. 도 3의 기재와 다른 도 4 내지 도 7의 변형에 대해서 이하 더 욱 설명한다.
도 4는 신뢰 수준 분석이 브라우저 상의 비사용자 활성화 코드 다운로드에 실행되는 예를 설명한다. 더욱 상세히, 웹 페이지(207)가 컴퓨팅 장치(105)의 브라우저에 로딩될 때, 객체(208)는 웹 페이지(207)와 관련된 것으로 검출되게 된다(310). 본 실시예에 따르면, 객체(208)의 코드의 평가에 기초하여, 객체(208)는 혼합되어 웹 페이지(207)의 코드의 일부로 보이는 미리 만들어진 구성 요소를 호출하여 기능을 동작하게 하는 소프트웨어 모듈인 것으로 판단된다. 객체(208)에서 볼 수 있는 이런 코드의 비제한적인 예로는 ActiveX 컨트롤이 있는데, 이는 마이크로소프트사에 의해 개발된 컴포넌트 오브젝트 모델(COM) 아키텍쳐에 기초한 것이다. 인터넷이나 인트라넷에서, ActiveX 컨트롤은 웹 페이지(207)에 링크되거나 컴플라이언트 브라우저에 의해 다운로드될 수 있으며, 어떠한 다른 실행 가능 프로그램으로도 활성화될 수 있다.
객체(208)의 동작이 사용자에 의해 개시되었는지의 여부에 대한 판단(315)이 행해진다. 그렇다면, 활성화 기회(320)는 객체(208)의 동작을 자동으로 활성화하는 것을 포함한다. 다른 실시예에서는 사용자에게 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하는 모달 프롬프트를 표시하거나, 사용자에게 임박한 동작을 알리는 모델리스 프롬프트를 표시한다.
비사용자 활성화된 코드 다운로드에 대한 신뢰 수준 분석(325)은 객체(208)의 소스가 신뢰되는지의 여부를 판단한다. 소스로부터의 컨텐트가 컴퓨팅 장치(105)에 이미 존재하는 경우나, 그렇지 않으면 컴퓨팅 장치(105)의 다른 보안 설정 이 객체(208)의 소스로부터의 컨텐트가 컴퓨팅 장치(105)에서 허용 가능하다고 나타낸 경우에 소스는 신뢰된다고 판단되게 된다.
객체(208)의 긍정적인 신뢰 수준 평가(426)는 결과적으로 객체(208)의 동작에 대해 활성화 기회(320)가 생기게 된다. 신뢰된 객체(208)에 대해, 활성화 기회(320)는 객체(208)의 동작의 자동 활성화를 포함한다. 다르게, 경고 수단으로서, 활성화 기회(320)는 도 3과 관련하여 상술한 바와 같이, 모달 프롬프트나 모델리스 프롬프트 중 하나를 포함할 수 있다. 컴퓨터 장치(105)의 보안 설정 및/또는 브라우저 설정은 활성화 기회(320)의 옵션을 수용하도록 구성될 수 있다.
객체(208)의 소스가 신뢰되지 않는다고 판단되면(426), 객체(208)의 소스가 명시적으로 신뢰되지 않는지를 판단하기 위해 브라우저의 설정에 대해 평가가 행해진다. 객체(208)가 명시적으로 신뢰되지 않은 소스로부터 발원된 것으로 판단되게 되면(427), 객체(208)의 동작은 차단된다(330). 명백히 신뢰되지 않는 소스의 예로는 이전에 검출된 바이러스가 발원된 소스가 있는데, 이 때 이것은 브라우저의 보안 설정에 저장된다. 또 다르게, 다운로드된 코드에 어떤 인증도 존재하지 않는 경우, 사용자가 인증에 의해 언급되는 게시자를 신뢰하지 않는다고 미리 선택한 경우, 또는 브라우저의 보안 설정에 따라서, 소스는 명시적으로 신뢰되지 않는다고 볼 수 있다.
본 명세서에 기재된 예시의 실시예에 따르면, 객체가 차단될 때(330), 객체(208)의 동작이 억제된다. 브라우저는 사용자에게 객체(208)의 동작이 억제된 것을 알리는 모델리스 프롬프트를 표시한다. 사용자에 의한 모델리스 프롬프트와의 연속적인 대화로 사용자에게 객체(208)의 상세 사항과 억제된 동작을 수집할 기회가 생기고, 이것은 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 다른 기회를 유도한다. 그러나, 신뢰되지 않는 객체(208)에 대해서는, 다른 대안으로 사용자에게 컴퓨팅 장치(105)를 신뢰되지 않는 소스로부터의 컨텐트에 노출시키는 기회를 제공하지 않게, 객체(208)를 컴퓨팅 장치(105)로부터 아주 삭제하는 것이 있다.
객체(208)의 소스가 명백히 신뢰되지 않는다고 판단된 것이 아니면(427), 객체(208)가 컴퓨팅 장치(105)에 이미 존재하는 객체나 프로그램의 업그레이드를 포함하는지에 대한 판단(428)이 행해진다. 컴퓨팅 장치(105)의 브라우저 및 프로그램 설정의 평가가 객체(208)가 기존의 객체나 프로그램을 업그레이드한다고 판단하면(428), 객체(208)의 동작에 활성화 기회(320)가 제공된다. 활성화 기회(320)는 도 3과 관련하여 상술한 바와 같이, 사용자에게 표시되고 있는 모달 프롬프트나 모델리스 프롬프트 중 하나를 포함할 수 있다. 컴퓨팅 장치(105)의 보안 설정 및/또는 브라우저 설정은 활성화 기회(320)에 대해 옵션을 수용하도록 구성될 수 있다.
컴퓨팅 장치(105) 상의 브라우저 설정, 프로그램 설정, 또는 보안 설정의 평가가 객체(208)가 컴퓨팅 장치(105)에 이미 존재하는 객체나 프로그램을 업그레이드하지 않는다고 판단한 경우, 컴퓨팅 장치(105)에 대해 플랙이 설정되어 있는지에 대한 판단(429)이 행해진다. 예를 들어, 다운로드 플랙은 컴퓨팅 장치(105) 상에서 브라우저 설정, 프로그램 설정, 또는 보안 설정 중 어느 것에나 설정될 수 있다. 다운로드 플랙은 예를 들어, 특정 소스로부터 또는 특정 컨텐트에 대한 다운 로드에 관한 것이다.
컴퓨팅 장치(105)의 브라우저 설정의 평가가 플랙이 설정되었다고 판단하면(429), 객체(208)의 동작에 대해 활성화 기회(320)가 제공되고, 이에 따라 도 3과 관련하여 상술된 바와 같이, 모달 프롬프트나 모델리스 프롬프트 중 하나를 사용자에게 표시하게 된다.
컴퓨팅 장치(105)의 브라우저의 설정의 평가가 다운로드 플랙이 설정되지 않았다고 판단하면(429), 객체(208)는 차단되고(330) 객체(208)의 동작은 억제된다. 이 때 브라우저는 사용자에게 객체(208)의 동작이 억제된 것을 알려주는 모델리스 프롬프트를 표시한다. 사용자에 의한 모델리스 프롬프트와의 연속적인 대화로 사용자에게 객체(208) 및 억제된 동작에 관한 상세 사항을 탐구할 기회가 생기게 되고, 이는 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 다른 기회를 유도한다.
사용자가 객체(208)의 동작을 활성화할 기회를 대화형으로 허용(335)한 경우, 웹 페이지(207)는 리로드되거나 새로 고쳐지므로, 객체(208)의 동작을 활성화할 수 있다. 그러나, 사용자가 객체(208)의 동작을 활성화할 기회를 대화형으로 취소하게 되면, 객체(208)는 여전히 차단 상태를 유지한다. 객체(208)가 차단되었을 때(330), 객체(208)의 컨텐트에 노출되지 않는 것을 제외하고는, 웹 페이지(207)에서의 사용자의 브라우징 경험은 계속된다는 것이 이해될 것이다.
도 5는 신뢰 수준 분석이 브라우저 내에서 안전하게 나타날 수 없는 컨텐트에 대해 실행되는 예를 나타낸다. 더욱 특히, 웹 페이지(207)가 컴퓨팅 장치(105) 의 브라우저에 로딩되게 되면, 객체(208)는 웹 페이지(207)와 관련되는 것으로 검출되게 된다(310). 본 실시예에 따르면, 객체(208)의 코드에 대한 평가에 기초하여, 객체(208)는 컴퓨팅 장치(105)의 브라우저가 호스트할 수 없는 컨텐트 유형으로 판단되게 된다. 즉, 객체(208)와 관련되는 컨텐트나 데이터는 HTML, XML, 또는 브라우저에 의해 직접 취급될 수 있는 평문과 같은 유형이 아니고, Adobe Acrobat® 또는 Microsoft Office®에 포함되는 것과 같은 브라우저 추가 기능 프로그램의 도움으로 표시될 수 있는 유형도 아니므로, 브라우저 외부의 어플리케이션을 시작하거나 파일 자체의 실행을 필요로 한다.
컴퓨팅 장치(105)의 브라우저 상에의 객체(208)의 로딩이 사용자에 의해 개시되었는지의 여부에 대한 판단(315)이 행해진다. 그렇다면, 활성화 기회(320)는 브라우저에 객체(208)를 자동으로 로딩하는 것을 포함할 수 있다. 다른 실시예는 사용자에게 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하는 모달 프롬프트를 표시하거나, 사용자에게 임박한 동작을 알려주는 모델리스 프롬프트를 표시할 수 있다.
신뢰 수준 분석(325)은 사용자 개시되지 않은 것으로 판단된(315) 객체(208)의 컨텐트에 대해 실행된다. 본 실시예에 따르면, 객체(208)의 코드의 평가에 기초하여, 객체(208)의 컨텐트가 컨텐트 유형의 안정성의 감지에 기초하여 컴퓨팅 장치(105)의 브라우저에서 렌더링되는지에 대한 판단(526)이 행해진다. 객체(208)에 대한 긍정적 판단(526)으로 객체(208)에 대해 활성화 기회(320)가 생기게 된다. 신뢰된 객체(208)에 대해, 활성화 기회(320)는 객체(208)의 컨텐트를 자동으로 렌 더링하는 것을 포함한다. 다르게, 활성화 기회(320)는 도 3과 관련하여 상술한 바와 같이, 모달 프롬프트 또는 모달리스 프롬프트중 하나를 포함한다. 컴퓨팅 장치(105)의 보안 설정 및/또는 브라우저 설정은 활성화 기회(320)의 옵션을 수용하도록 구성될 수 있다.
객체(208)의 컨텐트가 렌더링되지 않았다고 판단되면(426), 객체(208)의 컨텐트가 다운로딩을 필요로 하는지에 대한 판단(527)이 행해진다. 객체(208)의 컨텐트가 다운로딩을 필요로 하지 않는다고 판단되면(527), 객체(208)에 활성화 기회(320)가 제공된다. 활성화 기회(320)는 브라우저에 대해 객체(208)의 컨텐트를 자동으로 렌더링하는 것을 포함한다. 다르게, 사용자에게 객체(208)의 렌더링을 대화형으로 허용하거나 취소할 기회를 제공하도록 하는 모달 프롬프트가 표시되거나, 사용자에게 객체(208)의 렌더링 기회를 알리도록 하는 모델리스 프롬프트가 표시될 수 있다.
객체(208)의 컨텐트가 안정성을 필요로 한다고 판단되면(527), 플랙이 컴퓨팅 장치(105)에 대해 설정되어 있는지에 대한 판단(528)이 행해진다. 예를 들어, 다운로드 플랙은 컴퓨팅 장치(105) 상에서 브라우저 설정, 프로그램 설정, 또는 보안 설정 중 어느 것에나 설정될 수 있다. 이 예에서 더욱, 사용자가 적어도 부분적인 신뢰를 일시적으로 허용한 것을 나타내는 플랙은 예를 들어, 이 특정 소스로부터 또는 특정 컨텐트에 대한 다운로드에 관한 것이다. 컴퓨팅 장치(105)의 브라우저 설정, 프로그램 설정, 또는 보안 설정의 평가가 다운로드 플랙이 설정되었다고 판단하게 되면(528), 객체(208)의 컨텐트를 렌더링하도록 활성화 기회(320)가 제공되므로, 모달 프롬프트나 모델리스 프롬프트가 브라우저에 의해 표시되게 된다.
컴퓨팅 장치(105)의 브라우저 설정의 평가가 다운로드 플랙이 설정되지 않았다고 판단하게 되면(528), 객체(208)는 차단되고(330) 이 렌더링이 억제되게 된다. 이 때 브라우저는 사용자에게 객체(208)의 렌더링이 억제되었다는 것을 알리는 모델리스 프롬프트를 표시한다. 사용자에 의한 모델리스 프롬프트와의 연속적인 대화는 사용자가 객체(208) 및 억제된 동작에 관한 상세 사항을 탐구할 기회가 생기게 하며, 이는 객체(208)의 렌더링을 대화형으로 허용하거나 취소할 다른 기회를 유도한다.
사용자가 객체(208)를 렌더링하는 기회를 대화형으로 허용하게 되면(335), 웹 페이지(207)는 리로드되거나, 새로 고쳐지므로, 객체(208)를 렌더링하게 된다. 그러나, 사용자가 객체(208)를 렌더링할 기회를 대화형으로 취소하게 되면, 객체(208)는 여전히 차단 상태를 유지한다. 웹 페이지(207) 상에서의 사용자의 브라우징 경험은 객체(208)의 렌더링이 없는 것을 제외하고는 계속된다.
도 6은 신뢰 수준 분석이 팝업 창에서 실행되는 예를 나타낸다. 팝업 창은 통상적으로 대화 상자, 메시지 상자, 및 그 외 웹 페이지(207)의 메인 창과 별개로 보이는 임시 창으로 이용되는 중첩 창을 말한다. 객체(208)가 팝업 창인지를 판단하기 위한 논리는 경고, 확인 등과 같은 특정 객체를 포함하거나 배제하는 것으로 조정될 수 있다는 것이 이해될 것이다.
객체(208)가 사용자에 의해 개시되었는지에 대한 판단(315)이 행해진다. 그 렇다면, 활성화 기회(320)는 브라우저 상에 객체(208)의 팝업 창을 자동으로 표시하는 것을 포함한다. 다른 실시예는 사용자에게 객체(208)의 팝업 창의 표시를 대화형으로 허용하거나 취소할 기회를 제공하도록 하는 모달 프롬프트를 표시하거나, 사용자에게 임박한 표시를 알리도록 하는 모델리스 프롬프트를 표시할 수 있다.
도 6의 예시의 실시예에서, 신뢰 수준 분석(325)은 사용자 개시되지 않은 것으로 판단된(315) 객체(208)의 컨텐트에 대해 선택적으로 실행될 수 있는데, 왜냐하면 이런 분석이 팝업 창을 포함하는 것으로 판단된 컨텐트에 대해 리던던트이기 때문이다. 그럼에도, 객체(208)의 컨텐트가 예를 들어, 객체(208)의 코드의 다른 평가에 기초하여 팝업 창을 포함하지 않는다는 선택적 판단(626)이 행해지면, 객체(208)에 대해 활성화 기회(320)가 제공되게 된다.
그러나, 객체(208)의 평가가 그 컨텐트가 팝업 창인 것을 확인하면, 객체(208)는 차단되고(330) 그 표시는 억제되게 된다. 브라우저는 사용자에게 객체(208)의 표시가 억제된 것을 알리는 모델리스 프롬프트를 표시한다. 사용자에 의한 모델리스 프롬프트와의 연속적인 대화는 사용자에게 객체(208) 및 억제된 동작의 상세 사항을 수집할 기회가 생기게 되고, 이는 객체(208)의 렌더링을 대화형으로 허용하거나 취소할 다른 기회를 유도한다.
사용자가 객체(208)를 렌더링할 기회를 대화형으로 허용하면(335), 팝업 창이 재생되게 된다(337). 그러나, 사용자가 객체(208)의 팝업 창을 표시할 기회를 대화형으로 취소하게 되면, 객체(208)는 여전히 차단 상태를 유지한다. 웹 페이지(207)에서의 사용자의 브라우징 경험은 변경되지 않고 계속된다.
도 7은 신뢰 수준 분석이 컴퓨팅 장치(105)의 보안 설정을 초과하는 탐색 객체에 대해 실행되는 예를 나타낸다. 이 예는 예를 들어, 브라우저를 다른 웹 페이지에 링크하는 URL을 포함하는 검출된 객체(208)에 관한 것이다.
컴퓨팅 장치(105)의 브라우저에 대한 인터넷 또는 인트라넷 보안 설정이 객체(208)의 URL에의 억세스를 허가한다고 판단되면, 활성화 기회(320)는 브라우저에서 객체(208)에 의해 링크되는 웹 페이지를 자동으로 여는 것을 포함한다. 다른 실시예는 사용자에게 객체(208)에 의해 링크된 웹 페이지를 여는 기회를 대화형으로 허용하거나 취소할 기회를 제공하도록 하는 모달 프롬프트를 표시하거나, 사용자에게 웹 페이지의 임박한 열기를 알려주도록 하는 모델리스 프롬프트를 표시할 수 있다.
사용자 개시되지 않았다고 선택적으로 판단된(315) 객체(208)에 대해 신뢰 수준 분석(325)이 실행된다. 브라우저의 보안 설정이 객체(208)에 의해 링크된 웹 페이지의 열기를 허가했는지에 대한 판단(726)이 행해진다. 예를 들어, 이 판단은 객체(208)에 의해 링크된 웹 페이지가 컴퓨팅 장치(105)의 브라우저가 인가된 인트라넷과 관련되는지, 또는 네트워크(110)의 방화벽에 의해 허가되는 인터넷 상의 웹 페이지와 관련되는지를 평가하는 것을 포함한다. 보안 설정 플랙이 설정되었는지에 대한 판단(726)이 행해진다. 보안 설정 플랙은 이전의 활성화 기회에 기초하여 설정된다. 긍정적인 판단은 결과적으로 객체(208)에 활성화 기회가 생기게 한다.
객체(208)의 평가가 보안 설정이 웹 페이지를 여는 것을 허가하지 않았다고 판단한 경우, 동작은 억제된다. 이 때 브라우저는 사용자에게 객체(208)에 의해 링크된 웹 페이지가 억제된 것을 알리는 모델리스 프롬프트를 표시한다. 사용자에 의한 모델리스 프롬프트와의 연속적인 대화는 사용자에게 객체(208) 및 억제된 동작에 대한 상세 사항을 수집할 기회가 생기고, 이는 객체(208)에 의해 링크된 웹 페이지의 열기를 대화형으로 허용하거나 취소하는 다른 기회를 유도한다.
사용자가 객체(208)에 의해 링크된 웹 페이지를 여는 기회를 대화형으로 허용하게 되면(335), 웹 페이지(207)는 리로드되거나, 새로 고쳐지고, 이는 또한 객체(208)에 의해 링크된 웹 페이지를 열게 한다. 그러나, 사용자가 객체(208)를 렌더링할 기회를 대화형으로 취소하는 경우, 객체(208)는 여전히 차단 상태를 유지한다. 웹 페이지(207)에서의 사용자의 브라우징 경험은 객체(208)에 의해 링크된 웹 페이지를 열지 않는 것을 제외하고는 계속된다.
도 8a는 도 1 내지 도 7의 예시의 실시예를 참조하여 기술된 사용자 인터페이스(800)의 예시의 실시예를 나타낸다. 특히, 사용자 인터페이스(800)는 브라우저 툴바(802) 및 모델리스 프롬프트(805)를 포함하고, 이들은 도 3 내지 도 7과 관련하여 설명한 활성화 기회(320) 또는 차단 객체(320)가 표시된다. 이런 경우, 사용자에게 객체-관련 동작이 억제되고 있는 것을 알리고, 또한 사용자에게 억제된 객체-관련 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하도록 하는 모델리스 프롬프트(805)가 표시된다.
더욱 특히, 툴바(802)는 Microsoft® Internet Explorer와 같은 브라우저의 일부로 표시되고, 이는 컴퓨팅 장치(105)에서 인터넷이나 인트라넷을 브라우징하는 데에 이용된다. 도 3 내지 도 7의 처리 흐름에 따라서, 모델리스 프롬프트(805)는 사용자에게 객체(208)의 동작이 억제되었다는 보고를 제공하는 텍스트 필드를 포함한다. 사용자의 주의를 끌기 위해서, 모델리스 프롬프트(205)의 텍스트 필드는 웹 페이지의 일부의 상단에 표시되고 있는 것과 대비하여 웹 페이지(207)와 대체될 수 있다. 더욱, 모델리스 프롬프트(805)의 텍스트는 두 라인으로 둘레가 쳐져 있으며, 약간의 컨텐트가 생략된 것을 나타내도록 생략 부호가 제공될 수 있다. 따라서, Microsoft® Internet Explorer에 관한 도 8a의 예에 나타낸 바와 같이, 모델리스 프롬프트(805)의 텍스트는 "인터넷 익스플로어가 신뢰되지 않는 소프트웨어의 다운로드를 차단했습니다. 컨텐트가 정확하게 표시되지 않습니다. 다운로드할려면 여기를 클릭하세요..."로 기재된다. 그러나, 이 실시예는 단지 일 예시로서, 제한하고자 하는 것은 아니다.
모델리스 프롬프트(807)의 예시의 실시예는 사용자에게 객체(208)의 상세 사항을 탐구할 대화형 기회를 제공할 수 있으며, 이의 동작은 상술한 바와 같이 억제되게 된다. 예를 들어, 커서(807)를 모델리스 프롬프트(805)의 일부 위에 놓으면, 이는 사용자가 포인터를 활성화하는 것을 필요로 하거나 필요로 하지 않을 수도 있는데, 이 때 사용자에게 객체(208)의 특성을 알리는 메뉴(810)가 표시되고, 이의 동작은 억제된다. 메뉴(810)는 일 예로서 상기 도 4 내지 도 7의 객체(208)의 특성을 목록에 싣고 있지만, 이 실시예는 단지 일 예로서 제공되고 있을 뿐이다. 도 8a에서, 메뉴(810)는 억제되는 다음 객체의 동작을 나타낸다. 비사용자 개시 코드 설치(815), 브라우저 내측에 안전하게 나타나지 않는 코드(820), 팝업 창(825), 및 객체가 보안 설정 외에 있음(830). 그러나, 다른 실시예의 메뉴(810)는 항목(815, 820, 825, 및 830) 중에서 하나만 포함할 수 있다. 즉, 이런 다른 실시예는 가장 최근에 차단된 객체(208)에 관한 메뉴 항목을 표시할 수 있다.
모델리스 프롬프트(805)의 예시의 실시예는 특히 메뉴(810)에서, 사용자에게 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소하는 다른 기회를 제공한다. 특히, 커서(807)를 메뉴(810)에서 선택된 객체 위에 놓으면, 이는 사용자가 포인터를 활성화하는 것을 필요로 하거나 필요로 하지 않을 수 있는데, 이 때 모달 프롬프트가 표시되게 된다. 따라서, 사용자에게는 커서(807)가 놓인 메뉴에 대응하는 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소하는 기회가 제공된다.
도 8b는 도 1 내지 도 8a의 예시의 실시예에 따라서 기재된 모달 프롬프트(840)의 예를 나타낸다. 특히, 모달 프롬프트(840)는 도 3 내지 도 7과 관련하여 설명된 활성화 기회(320) 또는 차단 객체(320)가 표시되거나 도 8a와 관련하여 설명된 객체(208)의 활성화를 대화형으로 허용하거나 취소하는 다른 기회로서 표시된다. 이런 경우, 억제된 객체-관련 동작의 활성화를 허용(845)하거나 취소(850)하려는 사용자의 대화형 선택을 요청하기 위해 모달 프롬프트(840)가 표시되게 된다.
도 8c는 도 1 내지 도 7, 특히 도 4의 실시예를 참조하여 기재된 모델리스 프롬프트(850)의 예를 나타낸다. 모델리스 프롬프트(850)는 객체(208)가 명시적으로 신뢰되지 않는다고 판단된 경우, 또는 객체(208)에 대응하는 인증이 사용자에 의해 이미 차단되었거나 간단히 나타나지 않는 경우에 표시된다. 이런 경우, 모델리스 프롬프트(850)는 사용자에게 신뢰되지 않는 객체의 동작이 억제되었다고 알리 지만, 또한 사용자에게 억제된 객체-관련 동작의 활성화를 대화형으로 허용하거나 취소하는 기회를 제공한다.
도 9는 도 8a의 사용자 인터페이스에 관한 예시의 처리 흐름을 나타낸다.
도 3 내지 도 8a의 예시의 실시예에 관련하여, 모델리스 프롬프트(805)는 사용자에게 객체(208)의 동작이 억제된 것을 알리는 텍스트 필드로서 표시된다(905).
모델리스 프롬프트(805)가 활성화된 것으로 사용자 동작이 검출되고(910), 이것은 예를 들어, 사용자가 마우스를 클릭하여 포인터를 활성화하는 것을 필요로 하거나 필요로 하지 않을 수도 있다. 메뉴(810)의 디스플레이(915)는 동작이 억제된 객체(208)의 설명을 제공한다. 또한 모델리스 프롬프트와의 사용자의 대화는 결국 모달 프롬프트(840)가 표시되게 한다. 예를 들어, 메뉴(810)가 표시되고 커서(807)가 메뉴(810)에서 선택된 객체 위에 놓이면, 이는 사용자가 포인터를 활성화하는 것을 필요로 하거나 필요로 하지 않을 수도 있는데, 이때 모달 프롬프트는 사용자에게 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소할 기회를 제공하도록 표시되게 된다. 객체(208)의 동작의 활성화를 대화형으로 허용하거나 취소하도록 하는 모달 프롬프트(840)와 관련하는 또 추가 사용자 대화가 검출되게 된다(920).
도 10은 본 명세서에 기재된 기술을 실현하는 데에 이용될 수 있는 일반 컴퓨터 환경(1000)을 나타낸다. 컴퓨터 환경(1000)은 컴퓨팅 환경의 일 예일 뿐으로 컴퓨터 및 네트워크 아키텍쳐의 이용이나 가능의 영역에 대해 제한하고자 하는 것은 아니다. 또한 컴퓨터 환경(1000)은 예시의 컴퓨터 환경(100)에서 설명된 구성 요소 중 어느 하나나 조합에 관하여 종속되거나 필수 조건을 갖는 것으로 해석되어서도 안된다.
컴퓨터 환경(1000)은 컴퓨터(1002)의 형태인 범용의 컴퓨팅 장치를 포함하며, 이는 상술한 실시예에 관련하여 기재된 컴퓨팅 장치(105)를 포함할 수 있다. 컴퓨터(1002)의 구성 요소는, 여기에만 제한하는 것은 아니지만, 하나 이상의 프로세서 또는 처리 유닛(1004), 시스템 메모리(1006), 및 프로세서(1004)를 포함하는 각종 시스템 구성 요소를 시스템 메모리(1006)에 연결하는 시스템 버스(1008)를 포함할 수 있다.
시스템 버스(1008)는 메모리 버스나 메모리 컨트롤러, 주변 버스, 가속형 그래픽 포트 및 프로세서 또는 각종 버스 아키텍쳐 중 어느 것을 이용하는 로컬 버스를 포함하는 몇가지 유형의 버스 구조 중 하나 이상을 나타낸다. 예시로, 이런 아키텍쳐는 산업 표준 아키텍쳐(ISA) 버스, 마이크로 채널 아키텍쳐(MCA) 버스, 확장 ISA (EISA) 버스, 비디오 전자 공학 협회 (VESA) 로컬 버스, 메짜닌 버스로 알려진 주변 구성 요소 인터커넥트(PCI) 버스, PCI 익스프레스 버스, 범용 직렬 버스(USB), 보안 디지털 (SD) 버스, 또는 IEEE 1394, 즉 파이어 와이어 버스를 포함할 수 있다.
컴퓨터(1002)는 각종 컴퓨터 판독 가능 매체를 포함한다. 이런 매체는 컴퓨터(1002)에 의해 억세스 가능한 사용 가능한 매체일 수 있으며 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체 둘 다 포함할 수 있다.
시스템 메모리(1006)는 랜덤 억세스 메모리(RAM; 1010)와 같은 휘발성 메모 리; 및/또는 리드 온리 메모리(ROM; 1012) 또는 플래시 RAM와 같은 비휘발성 메모리의 형태인 컴퓨터 판독 가능 매체를 포함한다. 기동시와 같이, 컴퓨터(1002) 내의 소자 간에 정보를 전달하는 것을 도와주는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS; 1014)은 ROM(1012) 또는 플래시 RAM에 저장된다. RAM(1010)은 통상적으로 처리 유닛(1004)에 억세스되고/되거나 이에 의해 현재 동작되는 데이터 및/또는 프로그램 모듈을 포함한다.
컴퓨터(1002)는 그 외 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 예시로, 도 10은 비착탈식, 비휘발성 자기 매체(도시 생략)를 읽고 이에 기록하기 위한 하드 디스크 드라이브(1016), 착탈식 비휘발성 자기 디스크(1020) (예를 들어, "플로피 디스크")를 읽고 이에 기록하기 위한 자기 디스크 드라이브(1018), 및 CD-ROM, DVD-ROM 또는 기타 광 매체와 같은 착탈식 비휘발성 광 디스크(1024)로부터 판독하고/하거나 기록하기 위한 광 디스크 드라이브(1022)를 도시한다. 하드 디스크 드라이브(1016), 자기 디스크 드라이브(1018) 및 광 디스크 드라이브(1022)는 각각 하나 이상의 데이터 매체 인터페이스(1025)에 의해 시스템 버스(1008)에 접속된다. 다르게, 하드 디스크 드라이브(1016), 자기 디스크 드라이브(1018), 및 광 디스크 드라이브(1022)는 하나 이상의 인터페이스(도시 생략)에 의해 시스템 버스(1008)에 접속될 수 있다.
디스크 드라이브 및 이들의 관련 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 및 기타 데이터의 비휘발성 저장소를 컴퓨터(1002)에 제공한다. 이 예가 하드 디스크(1016), 착탈식 자기 디스크(1020), 및 착탈식 광 디스크(1024)를 나타내지만, 자기 카세트 또는 기타 자기 저장 장치, 플래시 메모리 카드, CD-ROM, 디지털 다기능 디스크 (DVD) 또는 기타 광 저장소, 랜덤 억세스 메모리(RAM), 리드 온리 메모리(ROM), 전기적으로 소거 가능한 프로그래머블 리드 온리 메모리 (EEPROM) 등과 같이 컴퓨터에 의해 억세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체도 또한 예시의 컴퓨팅 시스템 및 환경을 실현하도록 이용될 수 있다는 것이 이해될 것이다.
예시로, 운영 체제(1026), 하나 이상의 응용 프로그램들(1028), 기타 프로그램 모듈들(1030), 및 프로그램 데이터(1032)를 포함하는 임의의 개수의 프로그램 모듈이 하드 디스크(1016), 자기 디스크(1020), 광 디스크(1024), 및/또는 RAM(1010) 상에 저장될 수 있다. 이런 운영 체제 각각, 하나 이상의 응용 프로그램들(1028), 기타 프로그램 모듈(103), 및 프로그램 데이터(1032) (또는 이들의 조합)는 분산된 파일 시스템을 지원하는 상주 구성 요소의 모두나 일부를 실현한다.
사용자는 키보드(1034) 및 포인팅 장치(1036) (예를 들어, "마우스")와 같은 입력 장치에 의해 컴퓨터(1002)에 명령과 정보를 입력할 수 있다. 다른 입력 장치(들)(1038) (상세히 도시하지 않음)는 마이크로폰, 조이스틱, 게임패드, 위성 접시, 병렬 포트, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 시스템 버스(1008)에 연결된 입력/출력 인터페이스들(1040)을 통해 처리 유닛(1004)에 접속되지만, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다.
모니터(1042) 또는 다른 유형의 디스플레이 장치가 또한 비디오 어댑터 (1044)와 같은 인터페이스를 통해 시스템 버스(1008)에 접속될 수 있다. 모니터(1042)에 부가하여, 다른 출력 주변 장치는 I/O 인터페이스들(1040)을 통해 컴퓨터(1002)에 접속될 수 있는 스피커(도시 생략) 및 프린터(1046)와 같은 구성 요소를 포함할 수 있다.
컴퓨터(1002)는 원격 컴퓨팅 장치(1048)와 같은 하나 이상의 원격 컴퓨터에의 논리 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 예시로, 원격 컴퓨팅 장치(1048)는 PC, 휴대용 컴퓨터, 서버, 라우터, 네트워크 컴퓨터, 피어 장치 또는 다른 공통 네트워크 노드 등일 수 있다. 원격 컴퓨팅 장치(1048)는 컴퓨터(1002)에 관련하여 본 명세서에 기재된 소자 및 특성 모두나 대부분을 포함할 수 있는 휴대용 컴퓨터로 도시된다. 다르게, 컴퓨터(1002)는 비네트워크 환경에서도 또한 동작할 수 있다.
컴퓨터(1002)와 원격 컴퓨터(1048) 간의 논리 접속은 근거리 통신망(LAN; 1050) 및 일반 원거리 통신망(WAN; 1052)으로 도시되어 있다. 이런 네트워킹 환경은 사무실, 전사 차원의 컴퓨터 네트워크, 인트라넷 및 인터넷에서는 일반적이다.
LAN 네트워킹 환경에서 실현될 때, 컴퓨터(1002)는 네트워크 인터페이스 또는 어댑터(1054)를 통해 근거리 통신망(1050)에 접속된다. WAN 네트워킹 환경에서 실현될 때, 컴퓨터(1002)는 통상적으로 모뎀(1056) 또는 그 외 원거리 통신망(1052)를 통한 통신을 설정하기 위한 수단을 포함한다. 컴퓨터(1002)에 대해 내부적이거나 외부적일 수 있는 모뎀(1056)는 I/O 인터페이스(104) 또는 기타 적당한 기구를 통해 시스템 버스(1008)에 접속될 수 있다. 설명된 네트워크 접속은 예시 적인 것으로 컴퓨터(1002 및 1048) 간에 적어도 하나의 통신 링크를 설정하기 위한 다른 수단이 이용될 수 있다는 것이 이해될 것이다.
컴퓨팅 환경(1000)으로 설명된 것과 같은 네트워크 환경에서, 컴퓨터(1002)와 관련하여 도시된 프로그램 모듈, 또는 그 일부가 원격 메모리 저장 장치에 저장된다. 예시로, 원격 응용 프로그램들(1058)은 원격 컴퓨터(1048)의 메모리 장치에 상주한다. 설명의 목적으로, 어플리케이션 또는 프로그램 및 기타 운영 체제와 같은 실행 가능 프로그램 구성 요소는 본 명세서에서 개별의 블럭으로 도시되어 있지만, 이런 프로그램과 구성 요소는 컴퓨팅 장치(1002)의 여러 저장 구성 요소에 여러번 존재하며, 컴퓨터의 적어도 하나의 데이터 프로세서에 의해 실행된다는 것이 이해된다.
하나 이상의 컴퓨터나 다른 장치에 의해 실행되는 프로그램 모듈과 같은 여러 모듈 및 기술이 컴퓨터 실행 가능 명령의 일반 컨텍스트에 기재될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 특정한 앱스트랙트 데이터 유형을 실현하기 위해, 루틴, 프로그램, 객체, 구성 요소, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능은 여러 실시예에서 원하는 데로 조합되어 분산될 수 있다.
이들 모듈과 기술의 실현은 컴퓨터 판독 가능 매체의 몇 형태로 저장되거나 전송될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 억세스될 수 있는 사용 가능한 매체일 수 있다. 제한하고자 하는 것이 아니라 예시로서, 컴퓨터 판독 가능 매체는 "컴퓨터 저장 매체" 및 "통신 매체"를 포함할 수 있다.
"컴퓨터 저장 매체"는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 기타 데이터와 같은 정보의 저장을 위한 어느 방법이나 기술로 실현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는, 이에만 제한되는 것은 아니지만, RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 기타 광 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소, 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데에 이용되며 컴퓨터로 억세스될 수 있는 어떤 다른 매체도 포함한다.
"통신 매체"는 통상적으로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 기타 반송파나 다른 전송 기구와 같은 변조 데이터 신호의 데이터를 구현한다. 통신 매체는 또한 어떤 정보 전달 매체도 포함한다. 용어 "변조 데이터 신호"는 그 특성 세트 중 하나 이상을 가지거나 신호의 정보를 암호화하는 식의 방법으로 변경된 신호를 의미한다. 오직 비제한적인 예시로서, 통신 매체는 유선망 또는 직접 유선 연결과 같은 유선 매체, 및 음향, RF,적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것의 어느 조합이라도 또한 컴퓨터 판독 가능 매체의 영역 내에 포함된다.
본 발명의 예시의 실시예와 어플리케이션이 도시 및 설명되었지만, 본 발명은 상기한 정확한 구성 및 리소스에 제한되지 않는다는 것이 이해될 것이다. 당업자라면 본 발명의 영역에서 벗어나지 않고 본 명세서에 기재된 본 발명의 방법 및 시스템의 구성, 동작 및 상세 사항에 여러 가지 변형, 변경 및 수정을 명백하게 행할 수 있을 것이다.
그러나, 당업자라면 본 발명이 특정한 상세 사항 중 하나 이상 없이, 또는 다른 방법, 리소스, 재료 등으로도 실행될 수 있다는 것이 이해될 것이다. 다른 경우에, 공지의 구조, 리소스 또는 동작은 단지 본 발명의 형태를 모호하지 않게 하기 위해서 상세히 도시되거나 기재되지는 않았다.