KR102003086B1 - 보안 트리밍을 위한 지능형 캐싱 기법 - Google Patents
보안 트리밍을 위한 지능형 캐싱 기법 Download PDFInfo
- Publication number
- KR102003086B1 KR102003086B1 KR1020147011707A KR20147011707A KR102003086B1 KR 102003086 B1 KR102003086 B1 KR 102003086B1 KR 1020147011707 A KR1020147011707 A KR 1020147011707A KR 20147011707 A KR20147011707 A KR 20147011707A KR 102003086 B1 KR102003086 B1 KR 102003086B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- value
- access privilege
- request
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 명세서에 개시된 보안 트리밍 시스템은 보안 데이터스토어로부터 수신된 보안 트리밍 정보의 지능형 캐싱을 이용한다. 보안 트리밍 시스템은 액세스 데이터스토어로부터 수신된 보안 트리밍 정보를 이러한 보안 트리밍 정보와 연관된 그 밖의 다른 파라미터와 함께 저장하기 위해 액세스 캐시를 이용한다. 그 후, 보안 트리밍 정보에 대한 요청에 응답하여, 보안 트리밍 시스템은 그 밖의 다른 연관된 파라미터와 함께 보안 트리밍 정보의 캐싱된 값을 이용하여 콘텐츠 제공자로부터의 요청에 대한 응답을 결정할 수 있다. 하나의 구현예에서, 특정 보안 트리밍 정보와 연관된 그 밖의 다른 파라미터가 캐시 내 보안 트리밍 정보가 여전히 유효함을 의미하는 경우, 요청 응답으로 캐싱된 보안 트리밍 정보가 사용된다. 다른 경우, 보안 트리밍 정보의 업데이트된 값에 대한 새 요청이 보안 데이터스토어로 전송된다.
Description
인터넷 및 웹은 콘텐츠 제공자(content provider)가 그들의 클라이언트, 파트너, 또는 그 밖의 다른 사용자와 많은 양의 정보를 공유하는 것을 가능하게 한다. 예를 들어, 의료 제공자(healthcare provider)가 자신이 제공하는 서비스에 대한 정보, 다양한 질병에 대한 일반 정보, 환자 예약을 위한 스케줄 정보 등을 자신의 클라이언트와 공유한다. 일반적으로, 이러한 의료 정보는 서버 상에 호스팅되는 단일 데이터스토어(datastore) 또는 데이터스토어들의 모음에 저장된다. 사용자는 다양한 애플리케이션, 웹 브라우저 등을 이용해 이러한 정보를 액세스할 수 있다. 예를 들어, 사용자는 이러한 정보를 보기 위해 의료 제공자에 의해 제공되는 웹사이트에 로그인할 수 있다. 그러나 사용자가 액세스 특권(access privilege)의 다양한 레벨을 갖는 정보를 포함하는 문서 또는 콘텐츠를 액세스하는 중일 때, 사용자에게 그가 액세스 특권을 갖는 콘텐츠만 제공되도록 결정하는 것이 필수이다. 예를 들어, 환자가 의료 제공자로부터의 의료 정보를 액세스하는 중일 때, 환자의 예약 및 예약 사유, 또는 환자의 예약에 대한 참조만 환자에게 보여져야 한다. 최종 사용자, 가령, 의료 정보 제공자의 환자에게 제공되는 많은 양의 정보, 및 이러한 정보 및 이의 권한이 저장되는 많은 소스를 고려하면, 사용자에게 권한 있는 정보만 공개됨을 보장하는 것이 해결 과제이다.
개요
본 명세서에서 기재되고 청구되는 구현예가 보안 데이터스토어(security datastore)로부터 수신된 보안 트리밍 정보(security trimming information)의 지능형 캐싱(intelligent caching)을 이용하는 보안 트리밍 시스템을 제공함으로써 상기의 문제를 해결한다. 액세스 캐시가 액세스 데이터스토어로부터 수신된 보안 트리밍 정보를 이러한 보안 트리밍 정보와 연관된 다른 파라미터, 가령, 보안 트리밍 정보에 대한 TTL(time to live), 보안 트리밍 정보에 대한 요청 횟수 등과 함께 저장한다. 그 후, 보안 타이밍 정보에 대한 요청에 응답하여, 액세스 캐시가 보안 트리밍 정보의 캐싱된 값을 그 밖의 다른 연관된 파라미터와 함께 사용하여 콘텐츠 제공자로부터의 요청에 대한 응답을 결정할 수 있다. 예를 들어, 보안 타이밍 정보와 연관된 TTL이 유효한 경우, 요청에 대한 응답에서 이러한 보안 트리밍 정보가 사용된다. 그렇지 않은 경우, 보안 트리밍 정보의 업데이트된 값에 대한 새로운 요청이 보안 데이터스토어로 전송된다.
일부 구현예에서, 컴퓨터 프로그램 프로덕트로서 제조 물품이 제공된다. 컴퓨터 프로그램 프로덕트의 한 가지 구현예가 컴퓨터 시스템에 의해 판독될 수 있고 프로세스-실행형 프로그램을 인코딩하는 유형(tangible)의 컴퓨터 프로그램 저장 매체를 제공한다. 또한 본 명세서에 그 밖의 다른 구현예가 기재되고 언급된다.
이하의 상세한 설명에서 추가로 기재될 개념들의 모음을 단순화된 형태로 소개하기 위해 이 개요가 제공된다. 이 개요는 본 발명의 핵심 특징 또는 필수 특징을 식별하려는 것이 아니며, 본 발명의 범위를 제한하기 위해 사용되는 것도 아니다.
그 밖의 다른 구현예가 또한 본 명세서에 기재되고 언급된다.
도 1은 보안 트리밍 시스템에 대하 예시적 데이터 소스 및 흐름을 도시한다.
도 2는 보안 트리밍 시스템에 대한 또 다른 예시적 데이터 소스 및 흐름을 도시한다.
도 3은 본 명세서에 개시된 보안 트리밍 시스템에 대한 예시적 동작을 도시한다.
도 4는 본 명세서에 개시된 보안 트리밍 시스템에 대한 또 다른 예시적 동작을 도시한다.
도 5는 본 명세서에 개시된 보안 트리밍 시스템의 예시적 사용을 도시한다.
도 6은 기재된 기법을 구현하는 데 유용할 수 있는 예시적 시스템을 도시한다.
도 2는 보안 트리밍 시스템에 대한 또 다른 예시적 데이터 소스 및 흐름을 도시한다.
도 3은 본 명세서에 개시된 보안 트리밍 시스템에 대한 예시적 동작을 도시한다.
도 4는 본 명세서에 개시된 보안 트리밍 시스템에 대한 또 다른 예시적 동작을 도시한다.
도 5는 본 명세서에 개시된 보안 트리밍 시스템의 예시적 사용을 도시한다.
도 6은 기재된 기법을 구현하는 데 유용할 수 있는 예시적 시스템을 도시한다.
본 명세서에 개시된 보안 트리밍 시스템(security trimming system)에 의해, 콘텐츠 제공자, 가령, 의료 서비스 제공자가 콘텐츠에 대한 액세스 특권(access privilege)을 갖는 사용자에게만 상기 콘텐츠가 제공됨을 보장할 수 있다. 콘텐츠 제공자는 종종 콘텐츠에 대한 사용자의 액세스 특권을 결정하기 위해 사용될 수 있는 보안 트리밍 정보로의 액세스를 제공하는 보안 트리밍 제공자(security trimming information)를 사용한다. 이러한 경우, 보안 트리밍 제공자는 콘텐츠 또는 콘텐츠에 대한 참조를 사용자에게 보여 주기 전에 콘텐츠에 대한 사용자의 액세스 특권을 결정한다. 의료 제공자가 의료 정보를 환자에게 디스플레이하는 경우, 환자가 액세스 특권을 갖지 않는 임의의 의료 정보가 상기 환자에게 감춰지거나, 상기 환자에게 디스플레이되는 문서/콘텐츠에서 "트리밍"된다. 이를 이루기 위해, 환자가 웹서버로 의료 정보에 대한 요청을 전송할 때, 상기 웹서버는 환자에게 임의의 콘텐츠를 제공하기 전에 보안 트리밍 제공자를 호출하여 요청 받은 콘텐츠의 구성요소에 대한 사용자의 액세스 특권을 결정할 수 있다. 그 후, 상기 웹서버는 사용자가 액세스할 수 없도록 권한 설정된 정보를 트리밍할 수 있다.
그러나 액세스 특권이 결정될 필요가 있을 때마다 보안 트리밍 제공자로 요청을 전송하는 것은 이러한 요청의 크기가 많은 양의 통신 대역폭과 프로세서 시간을 소비하기 때문에 고비용이 될 수 있다. 보안 트리밍 제공자에게 과도하게 요청을 전송해야 하는 것을 피하기 위해, 본 명세서에 개시되는 보안 트리밍 시스템은 보안 트리밍 정보의 지능형 캐싱(intelligent caching)을 제공한다. 특히, 보안 트리밍 정보에 대한 요청이 모두 보안 트리밍 제공자로 전송될 필요는 없도록, 상기 보안 트리밍 시스템은 보안 트리밍 제공자로부터 수신된 보안 트리밍 정보를 저장하기 위한 캐시를 포함한다. 덧붙여, 보안 트리밍 시스템은 캐시 내 보안 트리밍 정보의 저장 및 처리에 지능을 더한다. 예를 들어, 보안 트리밍 시스템은 다양한 그 밖의 다른 파라미터, 가령, 콘텐츠 보안 정보에 대한 TTL(time to live)을 캐시에 저장된 보안 트리밍 정보와 연관시켜, 보안 트리밍 정보에 대한 프록시 즉 대표(representation)를 생성할 수 있다.
따라서 의료 제공자가 환자가 임의의 특정 콘텐츠를 액세스할 수 있는지 여부를 결정하는 데 관심이 있다면, 의료 제공자의 웹서버가 환자의 액세스 특권을 결정하기 위해 요청을 보안 트리밍 시스템으로 전송한다. 우선 보안 트리밍 시스템은 이러한 보안 트리밍 정보 또는 이러한 정보의 임의의 프록시에 대해 캐시에 요청한다. 캐시에서 어떠한 정보도 발견되지 않은 경우, 또는 캐시에 저장된 정보가 낡은 정보인 경우, 보안 트리밍 시스템은 보안 트리밍 제공자에게 요청을 전송한다. 덧붙여, 보안 트리밍 시스템이 보안 트리밍 제공자로부터의 정보를 액세스 및/또는 수신할 때마다, 그 밖의 다른 정보, 가령, 요청 시각, 특정 보안 트리밍 정보에 대한 요청이 전송된 횟수 등도 캐시에 저장된다. 따라서 의료 제공자의 웹서버가 지난 주의 스케줄 정보를 검토하기 위해 특정 환자의 액세스 특권에 대해 이미 요청 받은 경우 그리고 이전 요청이 상기 특정 환자가 이러한 스케줄 정보를 액세스하는 것을 허용한 응답을 생성한 경우, 보안 트리밍 시스템은 보안 트리밍 제공자에게 고비용의 요청을 전송할 필요 없이, 캐시에 저장된 이러한 이전 응답을 이용해 의료 제공자에게 응답할 수 있다.
지능형 캐시 시스템을 제공함으로써, 본 명세서에 개시되는 보안 트리밍 시스템은 보안 트리밍 제공자에게 전송될 요청의 수와, 따라서 부하를 감소시킨다. 또한, 이러한 지능형 캐시를 활용함으로써, 보안 트리밍 시스템은 사용자, 가령, 의료 서비스 제공자로부터의 요청에 응답하는 데 필요한 시간도 감소시킨다. 이는 결국 사용자가 최종 사용자, 가령, 의료 서비스 제공자의 환자에게 더 잘 반응할 수 있게 한다.
도 1은 보안 트리밍 시스템(100)에 대한 예시적 데이터 소스 및 흐름을 도시한다. 구체적으로, 보안 트리밍 시스템(100)은 다양한 사용자, 가령, 의료 제공자의 환자 C(109), 환자 D(104)에 대한 보안 권한 정보(security privilege information)를 제공하도록 사용된다. 상기 환자(102, 104)는 특정 의사의 스케줄, 검사실(laboratory)의 스케줄 등에 대한 정보를 제공하는 의료 제공자 스케줄(112)을 제공하는 웹사이트(110)를 이용해 의료 제공자로부터의 정보를 액세스한다. 예를 들어, 스케줄(112)의 각각의 구성요소가 링크에 의해 나타내어지고, 상기 링크는 상기 구성요소와 관련된 추가 정보를 획득하기 위해 사용자에 의해 선택될 수 있다.
하나의 구현예에서, 의료 제공자는 웹서버(120) 상에 웹사이트(110)를 호스팅한다. 환자(102, 104)가 웹사이트(110)를 액세스할 때, 환자(102, 104)를 식별하는 다양한 정보도 웹서버(120)로 전송된다. 예를 들어, 환자 C(102)에 의해 사용되는 컴퓨터의 브라우저가 환자 C(102)를 식별하는 정보를 웹서버(120)로 전송한다. 대안적으로, 웹서버(120)는 환자 C(102)가 로그인 및 비밀번호, 또는 그 밖의 다른 인증 수단을 이용해 스케줄(112)에 대해 인증할 것을 요구한다.
웹서버(120)가 환자 C(102)를 인증하면, 웹서버(120)는 환자 C(102)에게 제공될 수 있는 정보가 무엇인지를 결정한다. 예를 들어, 환자 C(102)가 의료 제공자 스케줄(112)을 액세스할 때, 상기 웹서버(120)는 환자 C(102)에게 스케줄(112)에 대한 액세스가 제공되어야 하는지 여부를 결정한다. 그렇다고 결정된 때, 웹서버(120)는 환자 C(102)의 신원을 검증한다. 예를 들어, 의료 정보 데이터스토어(122)가 다양한 환자의 신원 및 의료 정보, 가령, 스케줄(112)에 대한 이들의 액세스 특권에 대한 정보를 저장한다. 덧붙여, 웹서버(120)는 또한 스케줄(112) 중 어느 부분이 환자 C(102)에게 나타나야 하는지를 결정한다. 예를 들어, 스케줄(112)은 환자의 이름과 예약 사유를 포함해 특정 날에 대한 한 의사의 모든 예약을 나열한다. 그러나 다양한 프라이버시 및 법적 이유 때문에, 한 환자에 대한 이름과 예약 사유가 다른 환자에게 나타나지 않는 것이 필요하다. 따라서 1:00 PM예약을 갖는 환자 C(102)가 스케줄(112)을 액세스할 때 이름 John B.와, 예약 사유 "검진"만 스케줄(112) 상에 나타난다.
웹서버(120)가 스케줄(112)의 다양한 구성요소에 대한 환자 C(102)의 액세스 권리를 결정한 후 환자 C(102)에게 나타낼 정보에 대해 결정을 한다. 상기 웹서버(120)가 보안 트리밍 프로세스를 사용하여 환자 C(102)에게 디스플레이되는 정보를 결정할 수 있다. 보안 트리밍은 콘텐츠에 대한 사용자의 액세스를 이러한 정보에 대한 어떠한 참조도 사용자에게 나타내기 전에 결정하는 프로세스이다. 예를 들어, 스케줄(112) 내 임의의 링크는 환자가 기저 콘텐츠에 대한 액세스를 가진 경우에만 상기 환자에게 나타내어진다. 하나의 구현예에서, 스케줄(112)의 콘텐츠와 관련된 이러한 보안 트리밍 정보가 보안 데이터스토어, 가령, 보안 트리밍 제공자(130)에 의해 제공된다. 웹서버(120)는 스케줄(112) 상의 링크를, 보안 트리밍 제공자(130)가 기저 콘텐츠에 대한 환자의 액세스 권리를 검증한 경우에만 디스플레이한다.
예를 들어, 환자 C(102)가 스케줄(112)을 액세스할 때, 웹서버(120)로부터 보안 트리밍 제공자(130)로의 요청이 환자 C(102)가 1:00 PM시간대(time-slot)에 대한 환자 이름 및 예약 사유에 대해서만 액세스 특권을 가짐을 식별한다. 이러한 경우, 환자 C(102)에게 수정된 버전의 스케줄(116)이 표시된다. 다른 한편, 환자 D(104)가 스케줄(112)을 액세스하는 경우, 2:00 PM 시간대에 대한 수정된 스케줄(118)이 환자 D(104)에게 표시된다. 다른 한편, 의료 제공자, 가령, 병원의 관리자, 의사 등이 스케줄(112)을 액세스하는 경우, 의료 제공자에게 스케줄(112) 상의 모든 시간대에 대한 환자 이름 및 예약 사유를 포함해 전체 스케줄(112)에 대한 정보가 제공된다.
보안 트리밍 시스템(100)의 구현예에서, 웹서버(120)가 보안 트리밍 제공자(130)에게 요청을 전송할 때마다, 보안 트리밍 제공자(130)에 의해 생성된 결과가 캐시(140)에 저장된다. 덧붙여, 대안적 구현예에서, 보안 트리밍에 대한 요청을 보안 트리밍 제공자(130)에게 전송하는 대신, 웹서버(120)는 보안 트리밍 정보에 대한 요청을 캐시(140)로 전송한다. 따라서, 예를 들어, 환자 C(102)가 스케줄(112)을 액세스하기 위한 요청을 전송할 때, 상기 웹서버(120)는 우선 스케줄(112)의 다양한 구성요소에 대한 환자의 액세스 특권을 결정하기 위해 요청을 캐시(140)로 전송한다.
상기 캐시(140)는 자신이 요구되는 보안 트리밍 정보를 갖는지 여부를 결정하여 웹서버(120)로 응답을 제공할 수 있다. 예를 들어, 캐시(140)가 웹서버로 전송되는 응답을 결정하기 위해 캐싱된 보안 트리밍 데이터스토어(142)에게 요청한다. 보안 트리밍 데이터스토어(142)는 보안 트리밍 제공자(130)로의 과거의 요청을 기초로 보안 트리밍 정보를 저장하도록 구성된다. 예를 들어, 의료 제공자 스케줄(112)의 한 구성요소에 대한 환자 C(102)의 액세스 특권에 대한 이전 요청에 응답하여, 보안 트리밍 제공자(130)가 "액세스 권한 있음(access)"의 값을 반환(return)한 경우, 캐싱된 보안 트리밍 데이터스토어(142)는 의료 제공자 스케줄(112)의 상기 구성요소에 대한 환자 C(102)에 대한 액세스 특권의 값으로서 "액세스 권한 있음"를 저장한다. 보안 트리밍 제공자(130)로부터 반환되는 그 밖의 다른 가능한 값으로는 "액세스 권한 없음(no access)", "불확정(indeterminate)", "오류(failure)" 등이 있다. 대안적으로, 콘텐츠에 대한 액세스의 가변 레벨을 제공하도록 액세스 특권 값이 반환된다. 따라서 의사에게 의료 제공자 스케줄(112) 상의 특정 콘텐츠에 대한 "액세스 권한 편집(edit access)"이 제공되고, 환자에게 상기 특정 콘텐츠에 대한 "액세스 권한 보기(view access)"가 제공된다.
콘텐츠 제공자, 가령, 웹서버(120)가 콘텐츠의 위치 및 상기 콘텐츠에 대한 사용자의 액세스 특권을 요청하는 하나의 구현예에서, 확정적 "액세스 권한 있음(access)" 또는 "액세스 권한 없음(no access)" 결과가 상기 콘텐츠 제공자에게 제공된다. 보안 트리밍 제공자(130)가 검색 결과 제공자인 대안적 구현예에서, 상기 보안 트리밍 제공자(130)는 사용자가 콘텐츠를 액세스할 수 있는 경우 "액세스 권한 있음"의 값을 반환한다. 그러나 이러한 경우 보안 트리밍 제공자(130)는 사용자가 액세스할 수 없는 경우, 보안 트리밍 제공자(130)가 콘텐츠에 대해 알지 못하는 경우, 또는 콘텐츠가 이동되거나 삭제된 경우, "불확정(indeterminate)" 값을 반환한다. 마찬가지로, 보안 트리밍 제공자(130)로의 요청이 실패할 가능성이 높으며, 이 경우, "오류" 값이 반환된다. 보안 트리밍 제공자(130)로의 요청의 오류를 초래하는 이벤트의 예로는 질의 오류(query failure), 임시 네트워킹 문제로 인한 오류, 보안 트리밍 제공자(130)에 의해 수신된 요청의 과부하 등이 있다.
하나의 구현예에서, 보안 트리밍 제공자(130)가 보안 트리밍 정보의 값으로서 "액세스 권한 있음" 또는 "액세스 권한 없음"을 반환한 경우, 캐시(140)가 이러한 값을 캐싱된 보안 트리밍 데이터스토어(142)에 쓴다(write). 보안 트리밍 정보의 이러한 값이 웹서버(120)로부터의 차후의 요청에 응답하기 위해 사용된다. 그러나 보안 트리밍 제공자(130)가 확정적 "액세스 권한 있음" 또는 "액세스 권한 없음" 값을 반환하지 않는 경우, 상기 캐시(140)는 사용자가 콘텐츠에 대한 액세스 특권을 갖는지 여부를 결정하기 위해 수신된 값의 추가 번역(interpretation)에 착수한다.
상기 캐시(140)는 캐싱된 보안 트리밍 데이터스토어(142)에 저장되는 보안 트리밍 정보의 값 및 상기 보안 트리밍 정보와 연관된 그 밖의 다른 다양한 연관 파라미터를 이용해 웹서버(120)로부터의 요청에 대한 응답을 결정하는 보안 트리밍 인터페이스 엔진(144)을 더 포함한다. 특히, 보안 트리밍 인터페이스 엔진(144)은 보안 트리밍 제공자(130)가 확정적 "액세스 권한 있음" 또는 "액세스 권한 없음" 값을 반환하지 않을 때 사용자가 콘텐츠를 액세스할 수 있는지 여부를 결정한다.
예를 들어, 보안 트리밍 제공자(130)가 콘텐츠에 대한 보안 트리밍 정보의 값을 "불확정" 또는 "오류"로서 반환하는 경우, 상기 캐시(140)는 추가 정보, 가령, 상기 콘텐츠에 대한 보안 트리밍 정보의 값에 대한 보안 트리밍 제공자(130)에게 전송될 다음 번 요청의 타이밍, 상기 캐시(140)가 이러한 요청을 보안 트리밍 제공자(130)로 전송한 횟수 등을 저장한다. 하나의 구현예에서, 다음 번 요청 카운터까지의 시간 및 요청의 횟수가 사용되어 타이밍 정보를 저장할 수 있다. 이러한 정보를 저장함으로써 캐시(140)가 단기간 내에 동일한 보안 트리밍 정보에 대한 그리 많지 않은 요청이 보안 트리밍 제공자(130)로 전송됨을 보장할 수 있다. 또한 이러한 정보에 의해, 캐시(140)가 보안 트리밍 정보의 값에 대해 추론할 수 있다. 예를 들어, 보안 트리밍 제공자(130)로의 최근 3번의 요청 각각이 콘텐츠에 대한 사용자의 액세스 특권에 대해 "불확정"의 값을 반환했다면, 상기 캐시(140)는 사용자가 상기 콘텐츠를 액세스할 수 없다고 결정하며, 따라서 일정 기간 동안 상기 콘텐츠에 대한 보안 트리밍 정보의 값을 "액세스 권한 없음"으로 설정한다. 이 경우에서, 상기 일정 기간이 만료한 후, 상기 캐시(140)는 상기 콘텐츠에 대한 정보에 대한 웹서버(120)로부터의 새로운 요청에 응답하여 보안 트리밍 제공자(130)에게 새로운 요청을 전송한다.
하나의 대안적 구현예에서, 보안 트리밍 추론 엔진(security trimming inference engine)(144)이 캐싱된 보안 트리밍 데이터스토어(142)에 저장된 보안 트리밍 정보와 연관된 다양한 파라미터를 사용하여 웹서버(120)로 전송되는 이러한 보안 트리밍 정보의 대표 값(representative value)을 생성한다. 또한 상기 보안 트리밍 추론 엔진(144)은 이러한 파라미터의 값을 그 밖의 다른 이러한 파라미터의 값을 기초로 설정한다. 예를 들어, 보안 트리밍 추론 엔진(144)은 특정 보안 트리밍 정보가 보안 트리밍 제공자(130)로부터 수신된 마지막 시각, 지정된 이전 기간 내에 보안 트리밍 제공자(130)가 긍정적 값을 전송한 횟수 등에 대한 정보를 저장한다. 그 후, 보안 트리밍 추론 엔진(144)이 이러한 정보를 사용하여 보안 트리밍 정보와 연관된 TTL을 설정할 수 있다.
예를 들어, 캐시(140)가 스케줄(112)의 특정 콘텐츠와 연관된 보안 트리밍 정보에 대해 지난 주에 3번의 요청을 전송했고 그 때마다 보안 트리밍 제공자(130)가 긍정적 값을 생성했던 경우, 상기 보안 트리밍 추론 엔진(144)은 상기 특정 보안 트리밍 정보와 연관된 TTL을 "장기(Long)" 시간 값으로 설정한다. 그 후, 보안 트리밍 정보에 대해 웹서버(120)로부터 요청이 수신될 때, 상기 보안 트리밍 추론 엔진(144)은 캐싱된 보안 트리밍 데이터스토어(142) 내 보안 트리밍 정보에 첨부된 TTL을 평가하여 웹서버(120)로 전송될 응답을 결정할 수 있다. 예를 들어, 보안 트리밍 정보에 대한 TTL이 지정 임계치보다 큰 경우, 상기 보안 트리밍 추론 엔진(144)은 상기 캐싱된 보안 트리밍 데이터스토어(142)에 저장된 것과 동일할 보안 트리밍 정보의 대표 값을 결정한다. 그러나 보안 트리밍 정보에 대한 TTL이 지정 임계치보다 작은 경우, 상기 보안 트리밍 추론 엔진(144)은 캐시(140)에게 상기 보안 트리밍 제공자(130)에게 보안 트리밍 정보의 현재 값에 대한 새 요청을 전송할 것을 명령한다.
상기 캐시(140)는 보안 트리밍 제공자(130)로부터 수신된 보안 트리밍 정보의 실제 값 또는 이러한 보안 트리밍 정보의 대표 값을 웹서버(120)로 반환한다. 하나의 구현예에서, 캐시(140)는 값이 요청 받은 보안 트리밍 정보의 실제 값인지 또는 대표 값인지를 웹서버(120)로 전달한다. 대안적 구현예에서, 상기 보안 트리밍 추론 엔진(144)은 보안 트리밍 정보의 대표 값이 보안 트리밍 정보의 실제 값과 동일할 가능도를 특정하는 신뢰도 값(confidence value)을 더 생성한다. 이러한 구현예에서, 또한 보안 트리밍 정보의 대표 값과 함께 신뢰도 값이 웹서버(120)로 전달된다. 그 후, 상기 웹서버(120)는 상기 보안 트리밍 정보의 대표 값을 사용할지 여부를 결정한다.
캐싱된 보안 트리밍 데이터스토어(142)가 요청 받은 보안 트리밍 정보의 유효 값을 갖지 않고 상기 보안 트리밍 추론 엔진(144)이 요청 받은 보안 트리밍 정보에 대한 유효한 대표 값을 생성할 수 없기 때문에, 캐시(140)가 웹서버(120)로부터의 보안 트리밍 요청에 응답할 수 없다고 결정하는 경우, 상기 캐시(140)는 업데이트된 보안 트리밍 정보를 얻기 위한 요청을 보안 트리밍 제공자(130)에게 전송한다. 대안적 구현예에서, 캐시(140)는 캐싱된 보안 트리밍 데이터스토어(142) 내 보안 트리밍 정보와 연관된 그 밖의 다른 파라미터를 분석하여, 보안 트리밍 제공자(130)로의 업데이트에 대한 요청을 전송할 때를 결정할 수 있다.
대안적으로, 캐시(140)는 다양한 보안 트리밍 정보에 대해 보안 트리밍 제공자(130)로 주기적인 요청을 전송하도록 구성된다. 예를 들어, 상기 캐시(140)는 이러한 요청을, 하루 중 캐시(140)와 보안 트리밍 제공자(130)를 연결하는 통신 네트워크가 덜 혼잡할 때, 보안 트리밍 제공자(130)가 많은 양의 보안 트리밍 요청을 서비스하느라 그다지 바쁘지 않을 때 등, 매일 전송한다. 웹서버(120)가 캐시(140)로부터 보안 트리밍 정보 또는 상기 보안 트리밍 정보의 대표 값을 수신하면, 웹서버(120)는 이러한 보안 트리밍 정보를 이용해 스케줄(112)의 어느 부분이 사용자에게 나타나는지를 결정할 수 있다.
하나의 구현예에서, 보안 트리밍 시스템(100)의 다양한 구성요소들이 통신 네트워크, 가령, 인터넷, 가상 사설 네트워크(VPN), 모바일 통신 네트워크 등에 의해 서로 통신 가능하게 연결된다. 대안적 구현예에서, 캐시(140)는 웹서버(120)에 의해 쉽게 액세스 가능한 서버, 가령, 가상 메모리를 웹서버(120)로 제공하는 클라우드 서버 상에 위치한다. 대안적으로, 캐시(140)의 콘텐츠가 복수의 웹서버의 가상 메모리에 자동으로 미러링(mirror)되어, 이러한 웹서버 각각이 공중 통신 네트워크(public communication network)를 통해 통신할 필요 없이 캐시(140)로 요청을 전송할 수 있다.
도 2는 보안 트리밍 시스템(200)에 대한 예시적 데이터 소스 및 흐름을 도시한다. 상기 보안 트리밍 시스템(200)은 복수의 보안 트리밍 제공자에 대해 지능형 캐싱을 제공하는 액세스 캐시(access cache)(210)를 포함한다. 하나의 구현예에서, 웹서버(220, 222)는 액세스 캐시(210)를 이용해 보안 트리밍 제공자(230, 232)에 의해 제공되는 보안 트리밍 정보에 대한 액세스를 얻을 수 있다. 예를 들어, 웹서버 I(220)는 웹사이트 상에 공개된 콘텐츠에 대한 보안 트리밍 정보를 필요로 하는 의료 서비스 제공자를 위한 웹서버이다. 하나의 구현예에서, 상기 웹서버 I(220) 상의 콘텐츠가 보안 트리밍 제공자(230, 232) 모두로부터의 보안 트리밍 정보를 요구한다. 마찬가지로, 웹서버 II(222)는 또한 보안 트리밍 제공자(230, 232) 모두로부터의 보안 트리밍 정보를 필요로 한다. 보안 트리밍 시스템(200)의 하나의 구현예에서, 보안 트리밍 제공자 I(230)는 주 보안 트리밍 제공자이도록 설계되고, 보안 트리밍 제공자 II(232)는 보조 보안 트리밍 제공자이도록 설계된다. 이러한 구현예에서, 주 보안 트리밍 제공자로의 요청이 "불확정" 응답을 제공할 때 요청이 상기 보조 보안 트리밍 제공자에게 전송된다. 대안적 구현예에서, 주 보안 트리밍 제공자에 대한 트리밍 요청 부하에 관한 관측을 기초로 요청이 보조 보안 트리밍 제공자로 전송된다.
웹서버(220, 222)가 필요한 보안 트리밍 정보를 얻기 위해 보안 트리밍 제공자(230, 232)를 (점선으로 도시된 것처럼) 직접 액세스할 수 있지만, 상기 보안 트리밍 시스템(200)은 필요한 보안 트리밍 정보를 얻기 위해 액세스 캐시(210)를 이용하는 웹서버(220, 222)를 나타낸다. 예를 들어, 웹서버 I(220)가 의료 스케줄 상에서 디스플레이되는 콘텐츠에 대한 보안 트리밍 정보를 결정할 필요가 있을 때, 웹서버 I(220)는 액세스 캐시(210)를 이용해 이러한 보안 트리밍 정보를 획득할 수 있다.
액세스 캐시(210)는 보안 트리밍 제공자(230, 232)로부터 수신된 보안 트리밍 정보를 저장하는 보안 트리밍 데이터스토어(212)를 포함한다. 이러한 보안 트리밍 정보가 보안 트리밍 제공자(230, 232)로 전송된 사전 보안 트리밍 요청의 결과로서 수집될 수 있다. 웹서버 I(220)로부터의 요청을 수신하면, 액세스 캐시 지능 엔진(214)이 보안 트리밍 데이터스토어(212)가 웹서버 I(220)로부터의 요청에 응답하기 위해 필요한 정보를 포함하는지 여부를 결정한다. 포함하는 경우, 액세스 캐시(210)는 데이터스토어(212) 내 보안 트리밍 정보와 연관된 다양한 파라미터를 체크하여 이러한 보안 트리밍 정보의 유용성(usefulness)을 결정할 수 있다.
이러한 연관 파라미터의 한 가지 예시로는 보안 트리밍 데이터스토어(212)에 저장된 보안 트리밍 정보의 낡음(staleness)에 대한 정보를 제공하는 보안 트리밍 정보에 첨부된 TTL이 있다. 이러한 TTL이 만료되면, 즉, 보안 트리밍 정보가 상당히 오래되면, 액세스 캐시 지능 엔진(214)은 이러한 보안 트리밍 정보가 사용될 수 없다고 결정한다. 이러한 경우, 액세스 캐시(210)는 필요에 따라 보안 트리밍 제공자(230, 232)에게 새 요청을 전송하거나, 새 요청을 스케줄링한다.
도 3은 본 명세서에 개시된 보안 트리밍 시스템에 대한 예시적 동작(300)을 도시한다. 예를 들어, 의료 스케줄 정보를 환자에게 제공하는 의료 정보 시스템에서 동작(300)이 사용된다. 수신 동작(302)은 웹사이트 또는 서버에 의해 제공되는 또 다른 자원에서 콘텐츠에 대한 요청을 수신한다. 예를 들어, 수신 동작(302)은 의료 정보 제공자의 환자로부터 특정 의사와의 환자의 예약에 대한 요청을 수신한다. 환자가 웹 브라우저를 이용해 의료 정보 스케줄을 방문할 때, 이러한 의료 정보 스케줄을 호스팅하는 서버는 우선 의료 정보 스케줄의 어느 부분이, 그리고 스케줄 페이지 상의 그 밖의 다른 어느 콘텐츠가 환자에게 나타날 수 있는지를 결정한다.
요청 평가 동작(304)이 환자에 의해 요청된 콘텐츠를 디스플레이하는 것이 임의의 종류의 보안 트리밍 정보를 요구하는지 여부를 결정한다. 의사의 스케줄이 하루에 20건의 예약을 갖는 경우, 스케줄을 방문하는 다양한 환자 각각은 의사의 스케줄의 일부분만 볼 수 있다. 마찬가지로, 의사가 연구를 위해 하루 중 일부를 차단한 경우, 의사는 환자가 자신의 스케줄에서 이러한 연구 시간을 볼 수 없음을 보장할 수 있다. 스케줄을 보기 위한 환자로부터의 요청의 경우, 상기 요청 평가 동작(304)에서 환자에게 스케줄 상의 특정 콘텐츠에 대한 액세스 특권이 제공되어야 하는지 여부가 결정된다. 한 구현예에서, 특정 의사에 대해 복수의 환자 예약이 있는 경우, 요청 평가 동작(304)이 다양한 시간대 각각 내 콘텐츠에 대한 보안 트리밍 요건을 결정하여, 이들 콘텐츠 중 어느 것이 환자에게 디스플레이되어야 할지를 결정할 수 있다.
요청 평가 동작(304)은 환자에 의해 요청된 특정 콘텐츠가 임의의 보안 트리밍 정보를 필요로 하지 않는다고 결정한 경우, 디스플레이 동작(306)이 이러한 콘텐츠를 환자에게 디스플레이한다. 예를 들어, 예약 스케줄이 어떠한 보안 트리밍 정보도 필요로 하지 않는 의사의 전공 분야, 의사 사무실의 지도 등에 대한 일부 일반적인 콘텐츠를 포함하는 경우, 디스플레이 동작(306)은 환자에게 이러한 일반적인 콘텐츠를 디스플레이한다. 한편, 요청 평가 동작(304)이 요청된 콘텐츠가 보안 트리밍 정보를 필요로 한다고 결정하는 경우, 요청 동작(308)은 상기 콘텐츠에 대한 보안 트리밍 정보에 대한 요청을 전송한다.
하나의 구현예에서, 요청 동작(308)은 보안 트리밍 정보에 대한 요청을, 복수의 보안 트리밍 제공자에 대한 보안 트리밍 정보를 저장하도록 구성된 액세스 캐시로 전송한다. 그러나 대안적 구현예에서, 요청 동작(308)은 이러한 요청을 보안 트리밍 제공자로 직접 전송한다. 대안적으로, 요청 동작(308)은 이러한 요청을 캐시와 보안 트리밍 제공자 모두에게 전송한다. 예를 들어, 사용자로부터의 요청에 응답할 때 시간이 중요하다면, 요청 동작(308)은 신속한 응답을 보장하기 위해 이러한 요청을 캐시와 보안 트리밍 제공자 모두에게 전송한다.
그 후, 결정 동작(310)이 액세스 캐시 내에 요청된 보안 트리밍 정보에 대한 엔트리가 존재하는지 여부를 결정한다. 액세스 캐시 내에서 어떠한 보안 트리밍 정보도 발견되지 않은 경우, 선언 동작(312)이 액세스 캐시 미스(miss)를 선언한다. 대안적 구현예에서, 또한 선언 동작(312)은 그 밖의 다른 파라미터, 가령, 보안 트리밍 정보에 대한 요청 시각 등을 특정 보안 트리밍 정보에 할당한다. 대안적으로, 선언 동작(312)은 또한 특정 기간 내에 상기 특정 보안 트리밍 정보에 대한 요청이 수신된 횟수를 파악하는 요청 카운터의 수를 조절한다. 액세스 캐시에 의해 이러한 카운터 정보가 사용되어, 상기 특정 보안 트리밍 정보에 대한 요청이 액세스 캐시로부터 보안 트리밍 제공자로 전송된 자동 보안 트리밍 정보 요청에 포함될지 여부를 결정할 수 있다.
그러나 결정 동작(310)이 요청된 보안 트리밍 정보에 대한 엔트리가 액세스 캐시 내에 있다고 결정한 경우, 또 다른 결정 동작(314)이 다양한 파라미터, 가령, 액세스 캐시 내 보안 트리밍 정보와 연관된 TTL을 평가한다. 특히, 결정 동작(314)은 이러한 TTL의 값을 평가하여 캐시 내 보안 트리밍 정보의 저장된 값의 유효성(validity)을 결정할 수 있다. 예를 들어, 캐시 내에서 발견된 특정 보안 트리밍 정보가 오래 전에 보안 트리밍 제공자로부터 수신되었던 경우, 상기 결정 동작(314)에 의해 평가될 때 상기 특정 보안 트리밍 정보에 첨부된 TTL은 만료될 것이다. 이러한 선언 동작(316)은 액세스 캐시 내 특정 보안 트리밍 정보 엔트리가 만료되었거나 무효라고 선언한다.
한편, 보안 트리밍 동작에 대한 TTL이 만료되지 않은 경우, 평가 동작(318)이 보안 트리밍 정보에 대해 액세스 캐시 엔트리를 평가한다. 예를 들어, 의료 스케줄 상의 특정 콘텐츠를 액세스하려 시도하는 환자가 상기 콘텐츠에 대한 액세스 권한을 갖지 않는 경우, 액세스 캐시 내 보안 트리밍 엔트리가 "액세스 권한 없음"의 값을 가질 것이다. 이러한 경우, 보안 트리밍 정보를 요청하는 서버에게 환자가 상기 콘텐츠에 대한 액세스 권한을 갖지 않음을 통지하는 동작(320)으로 제어가 넘어간다. 그 결과로, 서버는 이러한 콘텐츠를 환자에게 디스플레이하지 않는다. 그러나 스케줄 상의 특정 콘텐츠를 액세스하려 시도하는 환자가 상기 콘텐츠에 대한 액세스 권한을 갖는 경우, 상기 액세스 캐시 내 보안 트리밍 엔트리가 "액세스 권한 있음"의 값을 가질 것이다. 이러한 경우, 보안 트리밍 정보를 요청하는 서버에게 환자가 상기 콘텐츠에 대한 액세스 권한을 가짐을 통지하는 동작(322)으로 제어가 넘어간다. 그 결과로, 서버는 이러한 콘텐츠를 환자에게 디스플레이한다.
일부 상황에서, 액세스 캐시 내 보안 트리밍 정보의 값이 "불확정" 또는 "오류"인 가능성이 있다. 예를 들어, 액세스 캐시로부터 보안 트리밍 제공자로의 보안 트리밍 정보에 대한 이전 요청 각각이 "불확정" 응답을 도출했던 경우, 즉, 보안 트리밍 제공자가 환자가 상기 콘텐츠에 대한 액세스 권한을 갖는지 여부를 몰랐던 경우, 액세스 캐시는 보안 트리밍 정보에 "불확정"의 값을 할당한다. 마찬가지로, 액세스 캐시가 보안 트리밍 정보를 얻으려 시도할 때마다, 상기 보안 트리밍 제공자로부터 어떠한 응답도 없었던 경우 - 이는 보안 트리밍 제공자에의 과도한 수요, 통신 네트워크의 오류 등으로 인해 발생할 수 있음 - , 상기 액세스 캐시는 보안 트리밍 정보에 "오류"의 값을 할당한다. 보안 트리밍 정보가 "불확정" 또는 "오류"의 값을 갖는 이러한 경우, 동작(324)이 재시도를 위해 상기 보안 트리밍 정보를 마킹(marking)한다.
동작(300)이 액세스 캐시 내 특정 보안 트리밍 정보에 대해 미스(miss), 특정 보안 트리밍 정보에 대한 만료된 TTL, 또는 "오류" 또는 "불확정"인 특정 보안 트리밍 정보의 값을 도출한 경우, 요청 동작(326)이 보안 트리밍 제공자에게 특정 보안 트리밍 정보의 업데이트된 또는 현재 값을 요청한다. 하나의 구현예에서, 이러한 요청은, 보안 트리밍 정보의 값이 미스, 만료, 오류, 또는 불확정인 것으로 발견되자마자 실시간으로 전송된다. 그러나 대안적 구현예에서, 액세스 캐시가 이러한 보안 트리밍 정보 요청을 보안 트리밍 제공자에게로의 그 밖의 다른 계류 중인 요청들의 배치(batch)에 추가한다. 이러한 구현예에서, 지정 시간 간격으로 이러한 요청들의 배치가 보안 트리밍 제공자에게 전송된다. 그러나 대안적 구현예에서, 보안 트리밍 제공자로 전송된 요청들의 배치는 액세스 캐시에 의해 수신되는 다양한 요청을 기초로 한다. 예를 들어, 환자가 의료 제공자의 웹 페이지 상에서 한 번에 스케줄, 시험 결과, 및 진단을 모두 보기를 원한 경우, 캐시가 스케줄, 시험 결과, 및 진단 각각에 대한 보안 트리밍 정보의 요청을 다 함께 하나의 배치로 묶고 이러한 요청들의 배치를 보안 트리밍 제공자에게 전송한다. 이는 보안 트리밍 시스템(300)이 귀중한 네트워크 대역폭을 절약할 수 있게 해준다.
매핑(mapping) 동작(328)이 액세스 캐시에서 보안 트리밍 제공자로의 요청의 결과를 매핑한다. 하나의 구현예에서, 요청이 보안 트리밍 제공자로 전송되기 전에 보안 트리밍 정보의 값이 "액세스 권한 있음"이었고 요청의 결과도 역시 "액세스 권한 있음"일 보안 트리밍 정보의 값을 보여주는 경우, 이러한 보안 트리밍 정보와 연관된 TTL에 "장기(Long)"의 값이 할당된다. 이러한 경우, 액세스 캐시는 보안 트리밍 정보 값이 "액세스 권한 있음"이라는 재확정을 고려하여 상기 액세스 캐시가 장기간 동안 높은 레벨의 신뢰도를 갖고 이 값을 이용할 수 있다고 결정한다. 마찬가지로, 액세스 캐시 내 보안 트리밍 정보의 현재 값이 "오류"이고 요청의 결과도 역시 보안 트리밍 정보의 값이 "오류"임을 나타내는 경우, 액세스 캐시가 TTL의 값을 "단기(Short)"로 설정한다. 이러한 경우, 캐시는 단기간 동안 또는 더 적극적으로 보안 트리밍 정보의 값에 대한 더 확정적인 답을 얻기 위한 요청을 보안 트리밍 제공자에게 전송한다.
한편, 요청이 보안 트리밍 제공자에게 전송되기 전, 보안 트리밍 제공자에게 이미 전송된 많은 요청에서 보안 트리밍 정보의 값이 "불확정"이었던 경우, 그리고 요청 결과가 보안 트리밍의 값이 "액세스 권한 없음"임을 나타내는 경우, 이러한 보안 트리밍 정보와 연관된 TTL에 "장기(Long)"의 값이 할당된다. 이러한 경우, 보안 트리밍 정보의 값을 결정하기 위한 모든 이전의 시도들이 "불확정"을 도출했고 요청이 미래의 장기간 동안 값이 "액세스 권한 없음"임을 도출함을 고려할 때, 액세스 캐시는 보안 트리밍 정보에 대해 "액세스 권한 없음"의 값을 이용할 것이다. 상기 값을 장기간 동안 "액세스 권한 없음"으로 설정함으로써, 보안 트리밍 제공자에게 요청이 덜 자주 전송되게 되며, 따라서 사용자가 액세스 권한을 가질 가능성이 높지 않은 콘텐츠에 대한 보안 트리밍 제공자에게로의 고비용의 트래픽(expensive traffic)이 감소된다.
마찬가지로, 요청이 보안 트리밍 제공자에게 전송되기 전, 보안 트리밍 제공자에게 이미 전송된 비교적 적은 수의 요청에서 보안 트리밍 정보의 현재 값이 "불확정"이었던 경우, 그리고 요청의 결과가 보안 트리밍의 값이 "액세스 권한 없음"임을 나타내는 경우, 이러한 보안 트리밍 정보와 연관된 TTL에 "단기(Short)"의 값이 할당된다. 이러한 경우, 또한 액세스 캐시는 보안 트리밍 제공자로 전송되는 보안 트리밍 정보에 대한 시도 횟수의 값을 증가시킨다. 액세스 캐시에서 요청의 결과를 보안 트리밍 제공자로 매핑한 후, 저장 동작(330)이 액세스 캐시에 보안 트리밍 정보의 수신된 값을 저장한다.
도 4는 본 명세서에 개시된 보안 트리밍 시스템에 대한 대안적 예시 동작(400)을 도시한다. 구체적으로, 동작(400)은 특정 보안 트리밍 정보가 "불확정"의 값을 가질 때 액세스 캐시가 보안 트리밍 제공자를 요청하는 것을 나타낸다. 예를 들어, 처음으로 환자가 의사의 예약 스케줄을 액세스하려 시도 중인 경우, 보안 트리밍 정보를 저장하는 액세스 캐시가 예약 스케줄 상의 한 콘텐츠에 대한 환자의 액세스 권한에 대한 보안 트리밍 정보를 갖지 않아, 보안 트리밍 정보에 대해 "불확정" 값을 도출한다. 이러한 경우, 요청 동작(402)이 보안 트리밍 제공자에게 상기 콘텐츠와 연관된 보안 트리밍 정보에 대해 요청한다. 요청의 결과가 평가 동작(404)에 의해 평가된다.
보안 트리밍 제공자가 "오류"인 보안 트리밍의 값을 반환한 경우, 동작(406)은 액세스 캐시 내 보안 트리밍 정보의 값을 "오류"로 설정하고 보안 트리밍 정보와 연관된 TTL을 "단기"로 설정한다. 이러한 경우, 액세스 캐시는 "오류"인 결과를 야기한 문제가 단기간 내에 정정될 것이라고 가정하며, 따라서 단기간 내에 보안 트리밍 제공자에게 전송된 또 다른 요청이 보안 트리밍 정보의 값의 수신을 야기할 것이다. 그러나 보안 트리밍 제공자가 "액세스 권한 있음"인 보안 트리밍 정보의 값을 반환한 경우, 동작(408)은 액세스 캐시 내 보안 트리밍 정보의 값을 "액세스 권한 있음"으로 설정하고 보안 트리밍 정보와 연관된 TTL을 "장기"로 설정한다. 이 경우, 환자가 콘텐츠에 대한 액세스 권한을 갖기 때문에, 디스플레이 동작(410)은 환자에게 콘텐츠를 디스플레이한다.
그러나 보안 트리밍 제공자가 "불확정"일 보안 트리밍 정보의 값을 반환한 경우, 평가 동작(412)은 액세스 캐시에 의해 이뤄지는 시도 또는 요청의 횟수를 평가하여 보안 트리밍 제공자로부터의 보안 트리밍 정보의 값을 획득할 수 있다. 이러한 시도의 횟수가 임계치를 초과하여, 많은 시도 후에도, 보안 트리밍 정보의 값이 획득될 수 없음을 나타내는 경우, 동작(414)은 사용자가 콘텐츠에 대한 액세스 권한을 갖지 않음을 추론하고, 따라서 액세스 캐시 내 보안 트리밍 정보의 값을 "액세스 권한 없음"으로 설정하고 보안 트리밍 정보와 연관된 TTL을 "장기"로 설정한다. 이 경우, 환자는 콘텐츠에 대한 액세스 권한을 갖지 않기 때문에, 디스플레이 동작(416)은 상기 환자가 액세스 권한을 갖지 않는 콘텐츠 없이, 예약 일정표를 디스플레이한다.
한편, 보안 트리밍 제공자로부터 보안 트리밍의 값을 획득하기 위해 액세스 캐시에 의해 이뤄진 시도 또는 요청의 횟수가 임계치 미만인 경우, 동작(418)은 액세스 캐시 내 보안 트리밍 정보의 값을 "불확정"으로 설정하고 보안 트리밍과 연관된 TTL을 "중기(Medium)"로 설정한다. 이러한 경우, 또한 동작(418)은 보안 트리밍 제공자로부터 보안 트리밍 정보의 값을 획득하기 위해 액세스 캐시에 의해 이뤄진 시도 또는 요청의 횟수를 나타내는 카운트를 증가시킨다.
도 5는 본 명세서에 개시된 보안 트리밍 시스템의 예시적 사용을 도시한다. 구체적으로, 도 5는 본 명세서에 개시된 보안 트리밍 시스템의 사용 동안 웹서버(502), 액세스 캐시(504), 및 보안 트리밍 제공자(506)에 대한 다양한 스테이지를 도시한다. 스테이지 1에서, 사용자, 가령, 의료 제공자의 환자가 웹서버(502)로부터 특정 문서, 가령, 환자 예약을 디스플레이하는 웹 페이지를 내비게이트한다. 도시된 예시에서, 이러한 문서는 예약 스케줄의 일부로서 환자에게 디스플레이될 수 있는 5개의 가능한 URL(universal resource locator), URL1-URL5을 포함한다. 대안적으로, URL1-URL5는 사용자에 의해 요청된 5개의 서로 다른 정보, 가령, 환자 스케줄 정보, 환자 진단, 환자 시험 결과 등을 나타낸다. (512)로 나타나는 바와 같이, 스테이지 1에서, 웹서버(502)는 5개의 URL 중 어느 것이 환자에게 디스플레이될 수 있는지를 결정할 필요가 있다. 이 스테이지에서, (514)로 나타나는 바와 같이, 액세스 캐시(504)는 URL1-URL4에 대한 보안 트리밍 정보를 가진다. 특히, 액세스 캐시(504)는 환자가 URL1, URL2 및 URL4를 액세스할 수 있지만, URL3에 대한 액세스 권한은 갖지 않음을 보여준다. 이 스테이지에서, 액세스 캐시(504)는 URL5에 대한 어떠한 보안 트리밍 정보도 갖지 않는다.
스테이지 2에서, URL1-URL5에 대한 보안 트리밍 정보에 대한 요청(516)이 액세스 캐시(504)로 전송된다. 그 후 스테이지 3에서, 액세스 캐시(504)는 URL1, URL2 및 URL4에 대한 보안 트리밍 정보와 함께 결과(518)를 웹서버(502)로 반환한다. 이 결과로서, (520)에서, 웹서버(502)가 요청된 URL에 대한 보안 트리밍 정보를 업데이트한다. 그 후, 스테이지 4에서, (522)로 나타난 바와 같이, 웹서버(502)가 URL1, URL2 및 URL4를 환자에게 디스플레이한다. 웹서버(502)가 액세스 캐시(504)에 의해 제공된 보안 트리밍 정보를 이용해 환자에게 콘텐츠를 디스플레이하는 동안, 배경(background)에서, 액세스 캐시(504)는 URL5에 대한 보안 트리밍 정보에 대한 요청(524)을 보안 트리밍 제공자(506)에게 전송한다. (526)으로 도시된 것처럼, 보안 트리밍 제공자(506)는 환자가 URL5에 대한 액세스를 가짐을 나타낸다.
스테이지 5에서, 보안 트리밍 제공자(506)는 URL5에 대한 보안 트리밍 정보와 함께 결과(528)를 액세스 캐시(504)로 전송한다. 액세스 캐시(504)는 보안 트리밍 제공자(506)로부터의 결과를 기초로 하여 URL5에 대한 보안 트리밍 정보를 업데이트한다. 이 결과로서, (530)으로 도시된 바와 같이, 액세스 캐시(504)는 이제 환자가 URL1, URL2, URL4 및 URL5에 대한 액세스 권한을 가짐을 나타낸다.
그 후, 스테이지 6에서, 사용자가 문서, 가령, 예약 스케줄을 디스플레이하는 웹 브라우저를 리프레시(refresh)한다. 사용자가 예약 스케줄을 리프레시하는 것에 응답하여, 웹서버(502)는 사용자에 대한 모든 보안 트리밍 정보를 재설정한다. 따라서 (532)에서 도시된 바와 같이, 웹서버(502)는 URL1-URL5 각각에 대한 보안 트리밍 정보를 결정할 필요가 있다. 이 결과로, 웹서버(502)는 URL1-URL5에 대한 보안 트리밍 정보에 대한 새 요청(534)을 액세스 캐시(504)로 전송한다.
스테이지 7에서, 액세스 캐시(504)는 업데이트된 보안 트리밍 정보(536)를 웹서버(502)로 전송한다. 액세스 캐시(504)가 URL1-URL5 각각에 대한 보안 트리밍 정보를 갖기 때문에, 이 스테이지에서 보안 트리밍 제공자(506)로 어떠한 요청도 전송되지 않는다. 이는 보안 트리밍 제공자(506)로 전송되는 고비용의 요청의 감소를 야기한다. 웹서버(502)는 자신의 보안 트리밍 정보를 업데이트하여, (538)에서 도시되는 것처럼, 사용자에게 URL1, URL2, URL4 및 URL5에 대한 액세스 권한이 제공된다. 대안적 구현예에서, 액세스 캐시(504)는 업데이트된 보안 트리밍 정보에 대해 웹서버(502)로부터 새로운 요청이 수신되지 않을 때라도 업데이트된 보안 트리밍 정보를 웹서버(502)로 주기적으로 전송하도록 구성된다.
도 6은 기재된 기술을 구현하는 데 유용할 수 있는 예시적 시스템을 도시한다. 기재된 기술을 구현하기 위한 도 6의 예시적 하드웨어 및 운영 체제가 컴퓨팅 장치, 가령, 게임용 콘솔 또는 컴퓨터(20), 모바일 전화기, PDA(personal data assistant), 셋 톱 박스(set top box)의 형태로 된 범용 컴퓨팅 장치 또는 그 밖의 다른 유형의 컴퓨팅 장치를 포함한다. 도 6의 구현예에서, 예를 들어, 컴퓨터(20)는 시스템 메모리를 포함하는 다양한 시스템 구성요소를 처리 장치(21)으로 동작 가능하게 연결하는 처리 장치(21), 시스템 메모리(22), 및 시스템 버스(23)를 포함한다. 컴퓨터(20)의 프로세서가 단일 중앙 처리 장치(CPU)를 포함하거나, 일반적으로 병렬 처리 환경이라고 일컬어지는 복수의 처리 장치를 포함하도록, 단 하나의 처리 장치 또는 둘 이상의 처리 장치(21)가 존재한다. 컴퓨터(20)는 통상의 컴퓨터, 분산 컴퓨터, 또는 임의의 그 밖의 다른 유형의 컴퓨터일 수 있으며, 본 발명은 이에 국한되지 않는다.
시스템 버스(23)는 몇 가지 유형의 버스 구조, 가령, 메모리 버스 또는 메모리 제어기, 주변장치 버스, 스위치 패브릭(switched fabric), 점대점 연결(point-to-point connection), 및 다양한 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스 중 임의의 것일 수 있다. 또한 시스템 메모리는 단순히 메모리라고 일컬어질 수 있으며, 리드 온리 메모리(ROM)(24) 및 랜덤 액세스 메모리(RAM)(25)를 포함한다. 컴퓨터(20) 내 요소들 간에 정보를 전달하는 것을 보조하는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(26)은, 가령, 시동 동안, ROM(24)에 저장된다. 상기 컴퓨터(20)는 도시되지는 않았지만 하드 디스크에 읽고 쓰기 위한 하드 디스크 드라이브(27), 이동식 자기 디스크(29)에 읽고 쓰기 위한 자기 디스크 드라이브(28), 및 이동식 광 디스크(31), 가령, CD, ROM, DVD, 또는 그 밖의 다른 광학 매체에 읽고 쓰기 위한 광 디스크 드라이브(30)를 더 포함한다.
하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33), 및 광 디스크 드라이브 인터페이스(34) 각각에 의해, 하드 디스크 드라이브(27), 자기 디스크 드라이브(28), 및 광 디스크 드라이브(30)가 시스템 버스(23)에 연결된다. 드라이브 및 이들의 연관된 컴퓨터 판독형 매체가 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈 및 컴퓨터(20)를 위한 그 밖의 다른 데이터의 비휘발성 저장장치를 제공한다. 해당 분야의 통상의 기술자라면 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 임의의 유형의 컴퓨터 판독형 매체, 가령, 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 등이 상기 예시적 동작 환경에서 사용될 수 있음을 알 것이다.
하드 디스크, 자기 디스크(29), 광학 디스크(31), ROM(24), 또는 RAM(25) 상에 복수의 프로그램 모듈이 저장될 수 있으며, 예로서, 운영 체제(35), 하나 이상의 애플리케이션 프로그램(36), 그 밖의 다른 프로그램 모듈(37) 및 프로그램 데이터(38)가 있다. 사용자는 명령어 및 정보를 입력 장치, 가령, 키보드(40) 및 포인팅 장치(42)를 통해 개인 컴퓨터(20)로 입력할 수 있다. 그 밖의 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 이들 및 그 밖의 다른 입력 장치는 종종 시스템 버스로 연결된 직렬 포트 인터페이스(46)를 통해 처리 장치(21)로 연결되지만, 그 밖의 다른 인터페이스, 가령, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)에 의해 연결될 수 있다. 모니터(47) 또는 그 밖의 다른 유형의 디스플레이 장치가 인터페이스, 가령, 비디오 어댑터(48)를 통해 시스템 버스(23)로 연결된다. 모니터에 추가로, 컴퓨터는 그 밖의 다른 주변 출력 장치(도시되지 않음), 가령, 스피커 및 프린터를 포함하는 것이 일반적이다.
컴퓨터(20)는 하나 이상의 원격 컴퓨터, 가령, 원격 컴퓨터(49)로의 논리적 연결을 이용해 네트워크 연결된 환경에서 동작할 수 있다. 이들 논리 연결은 컴퓨터(20)로 연결되거나 이의 일부인 통신 장치에 의해 이뤄지며, 본 발명은 특정 유형의 통신 장치로 국한된다. 원격 컴퓨터(49)는 또 다른 컴퓨터, 서버, 라우터, 네트워크 PC, 클라이언트, 피어 장치 또는 그 밖의 다른 통신 네트워크 노드일 수 있고, 일반적으로 컴퓨터(20)에 대해 앞서 기재된 요소들 중 다수 또는 모두를 포함하지만 도 6에는 메모리 저장 장치(50)만 도시되어 있다. 도 6에 도시된 논리 연결은 로컬 영역 네트워크(LAN)(51) 및 광역 네트워크(WAN)(52)를 포함한다. 이러한 네트워킹 환경은 모든 유형의 네트워크인 사무실 네트워크, 기업별 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔하다.
LAN 네트워크 연결 환경에서 사용될 때, 컴퓨터(20)는 일종의 통신 장치인 네트워크 인터페이스 또는 어댑터(53)를 통해 로컬 네트워크(51)로 연결된다. WAN-네트워킹 환경에서 사용될 때, 컴퓨터(20)는 모뎀(54), 네트워크 어댑터, 일종의 통신 장치 또는 광역 네트워크(52)를 통해 통신을 확립하기 위한 그 밖의 다른 유형의 통신 장치를 포함하는 것이 일반적이다. 내부형 또는 외부형일 수 있는 상기 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)로 연결된다. 네트워크 연결된 환경에서, 개인 컴퓨터(20) 또는 이의 일부분과 관련해 도시된 프로그램 엔진이 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 연결은 예시이며, 컴퓨터들 사이에 통신 링크를 확립하기 위한 그 밖의 다른 수단 및 통신 장치가 사용될 수 있다.
예시적 구현예에서, 메모리(22) 및/또는 저장 장치(29 또는 31)에 저장되고 처리 장치(21)에 의해 처리되는 명령에 의해 보안 트리밍 시스템의 다양한 구성요소가 구현될 수 있다. 콘텐츠 보안 정보, 보안 트리밍 데이터스토어, 및 그 밖의 다른 데이터가 메모리(22) 및/또는 저장 장치(29 또는 31)에 영속 데이터스토어로서 저장될 수 있다. 덧붙여, 보안 트리밍 시스템은 네트워크 연결된 시스템의 서비스 기능을 제공하도록 구성된 하드웨어 및/또는 소프트웨어를 나타낸다. 이러한 서비스는 범용 컴퓨터 및 특수 소프트웨어(가령, 서버가 실행하는 서비스 소프트웨어), 특수 목적 컴퓨팅 시스템 및 특수 소프트웨어(가령, 모바일 장치 또는 네트워크 기기가 실행하는 서비스 소프트웨어), 또는 그 밖의 다른 컴퓨팅 구성을 이용해 구현될 수 있다. 대안적 구현예에서, 보안 트리밍 시스템 및 이의 다양한 모듈이 또한 모바일 데이터스토어, 클라우드 등에 저장될 수 있다.
일부 실시예는 제조 물품을 포함할 수 있다. 제조 물품은 로직을 저장하기 위한 저장 매체를 포함할 수 있다. 저장 매체의 예시로는 전자 데이터를 저장할 수 있는 하나 이상의 유형의 컴퓨터 판독형 저장 매체, 가령, 휘발성 메모리 또는 비휘발성 메모리, 이동식 또는 비이동식 메모리, 소거식 또는 비소거식 메모리, 쓰기 가능한 또는 재-쓰기 가능한 메모리 등이 있을 수 있다. 로직의 예시로는 다양한 소프트웨어 요소, 가령, 소프트웨어 구성요소, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메쏘드, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼, 또는 이들의 임의의 조합이 있을 수 있다. 하나의 실시예에서, 예를 들어, 제조 물품은 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 기재된 실시예에 따르는 방법 및/또는 동작을 수행할 수 있게 하는 실행형 컴퓨터 프로그램 명령을 저장할 수 있다. 실행형 컴퓨터 프로그램 명령은 임의의 적합한 유형의 코드, 가령, 소스 코드, 컴파일된 코드, 번역(interpret)된 코드, 실행형 코드, 정적 코드, 동적 코드 등을 포함할 수 있다. 실행형 컴퓨터 프로그램 명령은 컴퓨터에게 특정 기능을 수행하도록 명령하기 위한 지정된 컴퓨터 언어, 방식 또는 신택스에 따라 구현될 수 있다. 상기 명령은 임의의 적합한 하이-레벨, 로우-레벨, 객체-지향, 비주얼, 컴파일된 및/또는 번역된 프로그래밍 언어를 이용해 구현될 수 있다.
본 명세서에 기재된 본 발명의 실시예는 하나 이상의 컴퓨터 시스템에서 논리적 단계로서 구현된다. 본 발명의 논리적 동작은 (1) 하나 이상의 컴퓨터 시스템에서 실행되는 프로세서에 의해 구현되는 단계들의 시퀀스, 및 (2) 하나 이상의 컴퓨터 시스템 내의 상호연결된 머신 또는 회로 모듈로서 구현된다. 구현예는 본 발명을 구현하는 컴퓨터 시스템의 성능 요건에 따른 선택의 문제이다. 따라서 본 명세서에 기재된 본 발명의 실시예를 구성하는 논리적 동작은 동작, 단계, 객체, 또는 모듈이라고 다양하게 언급된다. 덧붙여, 논리적 동작은 명시적으로 달리 청구되지 않는 한 또는 청구항 언어에 의해 특정 순서가 본질적으로 필수이지 않는 한 어떠한 순서로도 수행될 수 있다.
상기의 명세서, 예시, 및 데이터가 본 발명의 예시적 실시예의 구조 및 용도에 대한 완전한 기술을 제공한다. 본 발명의 많은 실시예가 본 발명의 사상 및 범위 내에 있을 수 있기 때문에, 본 발명은 이하의 특허청구범위 내에 있다. 덧붙여, 서로 다른 실시예의 특징들이 특허청구범위 내에서 또 다른 실시예와 조합될 수 있다.
Claims (20)
- 서버에서, 사용자로부터 상기 서버상의 콘텐츠에 대한 액세스의 제 1 요청을 수신하는 단계와,
보안 데이터스토어(security datastore)로부터, 상기 수신된 제 1 요청에 응답하여 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권(access privilege)의 값을 검색하는 단계와,
상기 서버상의 캐시(cache)에, 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 검색된 값 및 상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값을 수신하는 시점과 연관된 하나 이상의 파라미터를 저장하는 단계 - 상기 파라미터 중 하나는 상기 콘텐츠에 대한 상기 액세스 특권의 값의 TTL(time to live)임 - 와,
상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 수신된 값이 지정된 이전 기간 내에 긍정적인(affirmative) 횟수에 기초하여 상기 TTL의 시간 길이를 조정하는 단계와,
상기 서버에서, 상기 사용자로부터 상기 서버상의 상기 콘텐츠에 대한 액세스의 제 2 요청을 수신하는 단계와,
상기 제 2 요청의 수신에 응답하여, 상기 콘텐츠에 대한 상기 사용자의 액세스 특권의 상기 저장된 값의 유효성을 결정하기 위해, 상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값의 상기 TTL의 시간 길이를 상기 서버에서 평가하는 단계와,
상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 저장된 값이 유효하다고 결정되면, 상기 사용자가 상기 서버상의 상기 콘텐츠에 대해 액세스하도록 허용하는 단계를 포함하는
방법.
- 제1항에 있어서,
상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값이 무효하다고 결정되면, 상기 콘텐츠에 대한 상기 액세스 특권의 업데이트된 값의 요청을 상기 보안 데이터스토어로 전송하는 단계와,
상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값을 수신하는 단계와,
상기 요청에 응답하여 상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값을 전달하는 단계를 더 포함하는
방법.
- 제2항에 있어서,
상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값을 이용해 상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값을 업데이트하는 단계와,
상기 콘텐츠에 대한 상기 액세스 특권의 값을 수신하는 시점과 연관된 하나 이상의 파라미터를 업데이트하는 단계를 더 포함하는
방법.
- 제2항에 있어서,
요청을 보안 데이터스토어로 전송하는 단계는 요청을 복수의 보안 데이터스토어로 전송하는 단계를 더 포함하는
방법.
- 제1항에 있어서,
상기 하나 이상의 파라미터는 상기 콘텐츠에 대한 상기 액세스 특권의 값이 최종 수신되는 시점을 포함하는
방법.
- 제1항에 있어서,
상기 하나 이상의 파라미터를 평가하는 단계는, 상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값과 유사한 결과를 생성하는 상기 콘텐츠에 액세스하기 위한 상기 액세스 특권의 값을 위해 상기 보안 데이터스토어에 대한 이전 요청의 횟수를 평가하는 단계를 더 포함하는
방법.
- 컴퓨터 실행가능 명령어를 인코딩하는 컴퓨터 판독가능 저장 디바이스로서,
상기 컴퓨터 실행가능 명령어는 컴퓨터 시스템 상의 컴퓨팅 프로세서에 의해 실행될 경우 상기 컴퓨팅 프로세서로 하여금 컴퓨터 프로세스를 수행하게 하되,
상기 컴퓨터 프로세스는
사용자로부터 상기 컴퓨터 시스템 상의 콘텐츠에 대한 액세스의 제 1 요청을 수신하는 것과,
보안 데이터스토어로부터, 상기 수신된 제 1 요청에 응답하여 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값을 검색하는 것과,
캐시에, 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 검색된 값과 상기 콘텐츠에 액세스하기 위한 상기 사용자의 상기 액세스 특권의 값과 연관된 하나 이상의 파라미터를 저장 - 상기 파라미터 중 하나는 상기 콘텐츠에 대한 상기 액세스 특권의 값의 TTL임 - 하는 것과,
상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 수신된 값이 지정된 이전 기간 내에 긍정적인 횟수에 기초하여 상기 TTL의 시간 길이를 조정하는 것과,
후속하여, 서버상의 상기 콘텐츠에 대한 액세스의 제 2 요청을 상기 사용자로부터 수신하는 것과,
상기 제 2 요청의 수신에 응답하여, 상기 캐시에 저장되고 상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값과 연관된 상기 TTL의 시간 길이의 평가를 수행하는 것과,
상기 수행된 평가에 기초하여, 상기 콘텐츠에 액세스하기 위한 상기 사용자의 상기 액세스 특권의 상기 저장된 값의 유효성을 결정하는 것을 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제7항에 있어서,
상기 콘텐츠에 대한 상기 액세스 특권의 상기 값과 연관된 상기 하나 이상의 파라미터는 상기 콘텐츠에 대한 상기 액세스 특권의 값을 수신한 시점과 연관된 하나 이상의 파라미터를 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제8항에 있어서,
상기 하나 이상의 파라미터는 상기 콘텐츠에 대한 상기 액세스 특권의 값이 최종 수신된 시점을 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제7항에 있어서,
상기 컴퓨터 프로세스는
상기 수행된 평가에 기초하여 상기 콘텐츠에 액세스하기 위한 상기 사용자의 상기 액세스 특권의 상기 저장된 값이 유효하는 결정에 응답하여, 상기 사용자가 상기 제 2 요청에 관련된 상기 컴퓨터 시스템 상의 상기 콘텐츠에 액세스하도록 허용하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제10항에 있어서,
상기 컴퓨터 프로세스는
상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값이 무효하다고 결정되면, 상기 콘텐츠에 대한 상기 액세스 특권의 업데이트된 값의 요청을 상기 보안 데이터스토어로 전송하는 것과,
상기 콘텐츠를 액세스하기 위한 상기 사용자의 상기 액세스 특권의 상기 업데이트된 값을 상기 캐시에 수신하고 저장하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제11항에 있어서,
상기 요청을 상기 보안 데이터스토어로 전송하는 것은
주(primary) 데이터스토어에 요청을 전송하는 것과,
상기 주 데이터스토어로부터의 응답을 평가하는 것과,
상기 주 데이터스토어로부터의 응답이 상기 콘텐츠에 액세스하기 위한 상기 액세스 특권의 불확정(indeterminate) 값을 표시하면, 보조(secondary) 데이터스토어에 요청을 전송하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제11항에 있어서,
상기 컴퓨터 프로세스는
상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값을 상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값으로 업데이트하는 것과,
상기 콘텐츠에 대한 상기 액세스 특권의 값을 수신하는 시점과 연관된 하나 이상의 파라미터를 업데이트하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제11항에 있어서,
상기 컴퓨터 프로세스는
상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값이 상기 보안 데이터스토어로부터의 상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값을 수신하는 것을 실패했다고 표시하는 경우, 상기 보안 데이터스토어로 상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값의 요청을 전송하는 시점을 표시하는 카운터의 값을 조정하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제11항에 있어서,
상기 컴퓨터 프로세스는
상기 콘텐츠에 대한 상기 액세스 특권의 상기 업데이트된 값이 오류 및 불확정 값 중 적어도 하나를 표시하는 것으로 결정되면, 상기 보안 데이터스토어로 전송된 요청의 횟수를 표시하는 요청 카운터의 수를 업데이트하는 것과,
다음 번 요청이 상기 보안 데이터스토어로 전송되기 전까지의 시간을 표시하는 다음 번 요청 카운터까지의 시간(time to next request counter)을 업데이트하는 것을 더 포함하는
컴퓨터 판독가능 저장 디바이스.
- 제7항에 있어서,
상기 하나 이상의 파라미터의 평가를 수행하는 것은, 상기 콘텐츠에 대한 상기 액세스 특권의 상기 저장된 값과 유사한 결과를 생성하는 상기 콘텐츠에 대한 상기 액세스 특권의 값을 위해 상기 보안 데이터스토어에 대한 이전 요청의 횟수를 평가하는
컴퓨터 판독가능 저장 디바이스.
- 컴퓨팅 시스템으로서,
컴퓨팅 프로세서와,
명령어를 저장하는 메모리를 포함하되,
상기 명령어는 상기 컴퓨팅 프로세서에 의해 실행될 경우 상기 컴퓨팅 프로세서로 하여금 프로세스를 수행하게 하며, 상기 프로세스는
상기 컴퓨팅 시스템에서 사용자로부터 특정 콘텐츠에 액세스하기 위한 제 1 요청을 수신하는 것과,
상기 수신된 제 1 요청에 응답하여 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값을, 보안 데이터스토어로부터 검색하는 것과,
상기 컴퓨팅 시스템의 캐시에, 상기 요청된 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 검색된 값과 상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값을 수신하는 시점과 연관된 하나 이상의 파라미터를 저장하는 것 - 상기 파라미터 중 하나는 상기 콘텐츠에 대한 액세스 특권의 값의 TTL임 - 과,
상기 보안 데이터스토어에 대한 하나 이상의 이전 요청의 이력과 상기 액세스 특권의 대응하는 검색된 값에 기초하여 상기 TTL의 시간 길이를 조정하는 것과,
서버에서, 상기 콘텐츠에 대한 액세스를 위해 상기 사용자로부터 제 2 요청을 수신하는 것과,
상기 제 2 요청의 수신에 응답하여, 상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 값과 연관된 상기 TTL의 시간 길이에 기초하여 상기 캐시에 저장된 상기 사용자의 액세스 특권의 값의 유효성을 결정하는 것과,
상기 콘텐츠에 액세스하기 위한 상기 사용자의 액세스 특권의 상기 저장된 값이 유효하다는 결정에 응답하여, 상기 사용자가 상기 콘텐츠에 액세스하게 하는 것을 포함하는
컴퓨팅 시스템.
- 제17항에 있어서,
상기 콘텐츠에 대한 액세스 특권의 값과 연관된 상기 하나 이상의 파라미터는 상기 요청된 콘텐츠에 대한 액세스 특권의 값을 수신하는 시점과 연관된 하나 이상의 파라미터를 포함하는
컴퓨팅 시스템.
- 제17항에 있어서,
상기 하나 이상의 파라미터는 상기 요청된 콘텐츠에 대한 액세스 특권의 값이 최종 수신되는 시점을 포함하는
컴퓨팅 시스템.
- 제17항에 있어서,
상기 컴퓨팅 프로세서에 의해 수행되는 상기 프로세스는, 상기 요청된 콘텐츠에 대한 액세스 특권의 수신된 값이 오류 또는 불특정 값 중 적어도 하나를 표시하는 것에 응답하여, 다음 번 요청이 상기 보안 데이터스토어로 전송되기 전까지의 시간을 표시하는 다음 번 요청 카운터까지의 시간을 업데이트하는 것을 더 포함하는
컴퓨팅 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/286,219 US9336324B2 (en) | 2011-11-01 | 2011-11-01 | Intelligent caching for security trimming |
US13/286,219 | 2011-11-01 | ||
PCT/US2012/062881 WO2013067066A2 (en) | 2011-11-01 | 2012-10-31 | Intelligent caching for security trimming |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140088120A KR20140088120A (ko) | 2014-07-09 |
KR102003086B1 true KR102003086B1 (ko) | 2019-07-23 |
Family
ID=47856102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147011707A KR102003086B1 (ko) | 2011-11-01 | 2012-10-31 | 보안 트리밍을 위한 지능형 캐싱 기법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9336324B2 (ko) |
EP (1) | EP2774073B1 (ko) |
JP (1) | JP6053808B2 (ko) |
KR (1) | KR102003086B1 (ko) |
CN (1) | CN102982082B (ko) |
WO (1) | WO2013067066A2 (ko) |
Families Citing this family (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011160139A1 (en) | 2010-06-18 | 2011-12-22 | Sweetlabs, Inc. | Systems and methods for integration of an application runtime environment into a user computing environment |
WO2012177664A1 (en) * | 2011-06-20 | 2012-12-27 | Sweetlabs, Inc. | Systems and methods for streamlined content download |
US10003458B2 (en) | 2011-12-21 | 2018-06-19 | Ssh Communications Security Corp. | User key management for the secure shell (SSH) |
WO2013093209A1 (en) | 2011-12-21 | 2013-06-27 | Ssh Communications Security Oyj | Automated access, key, certificate, and credential management |
US8775925B2 (en) | 2012-08-28 | 2014-07-08 | Sweetlabs, Inc. | Systems and methods for hosted applications |
CN103678644A (zh) * | 2013-12-20 | 2014-03-26 | 北京奇虎科技有限公司 | 一种在浏览器中显示日程信息的方法与装置 |
US9749440B2 (en) | 2013-12-31 | 2017-08-29 | Sweetlabs, Inc. | Systems and methods for hosted application marketplaces |
JP2015142885A (ja) * | 2014-01-31 | 2015-08-06 | 三菱重工業株式会社 | 生物膜濾過装置、淡水化システム、及び、生物膜濾過装置の洗浄方法 |
US9838260B1 (en) | 2014-03-25 | 2017-12-05 | Amazon Technologies, Inc. | Event-based data path detection |
US10467423B1 (en) * | 2014-03-26 | 2019-11-05 | Amazon Technologies, Inc. | Static analysis-based tracking of data in access-controlled systems |
US10089098B2 (en) | 2014-05-15 | 2018-10-02 | Sweetlabs, Inc. | Systems and methods for application installation platforms |
US9729583B1 (en) | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10728272B1 (en) | 2014-12-17 | 2020-07-28 | Amazon Technologies, Inc. | Risk scoring in a connected graph |
EP3128479A1 (en) * | 2015-08-06 | 2017-02-08 | Tata Consultancy Services Limited | Methods and systems for transaction processing |
CN106708417B (zh) * | 2015-11-13 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 缓存数据的管理方法及装置 |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11004125B2 (en) | 2016-04-01 | 2021-05-11 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10706447B2 (en) | 2016-04-01 | 2020-07-07 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10776514B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for the identification and deletion of personal data in computer systems |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10762236B2 (en) | 2016-06-10 | 2020-09-01 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11138299B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US11057356B2 (en) | 2016-06-10 | 2021-07-06 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US10853501B2 (en) | 2016-06-10 | 2020-12-01 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11087260B2 (en) | 2016-06-10 | 2021-08-10 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US12052289B2 (en) | 2016-06-10 | 2024-07-30 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US10565397B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10713387B2 (en) | 2016-06-10 | 2020-07-14 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11157600B2 (en) | 2016-06-10 | 2021-10-26 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US12118121B2 (en) | 2016-06-10 | 2024-10-15 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US12045266B2 (en) | 2016-06-10 | 2024-07-23 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10706379B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for automatic preparation for remediation and related methods |
US10592692B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10496846B1 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing and communications systems and methods for the efficient implementation of privacy by design |
US10885485B2 (en) | 2016-06-10 | 2021-01-05 | OneTrust, LLC | Privacy management systems and methods |
US10798133B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10585968B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11100444B2 (en) | 2016-06-10 | 2021-08-24 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US10949170B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US10282700B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US10706174B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for prioritizing data subject access requests for fulfillment and related methods |
US11410106B2 (en) | 2016-06-10 | 2022-08-09 | OneTrust, LLC | Privacy management systems and methods |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US10708305B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Automated data processing systems and methods for automatically processing requests for privacy-related information |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11144622B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Privacy management systems and methods |
US10726158B2 (en) | 2016-06-10 | 2020-07-28 | OneTrust, LLC | Consent receipt management and automated process blocking systems and related methods |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US10783256B2 (en) | 2016-06-10 | 2020-09-22 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10776518B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Consent receipt management systems and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US10242228B2 (en) | 2016-06-10 | 2019-03-26 | OneTrust, LLC | Data processing systems for measuring privacy maturity within an organization |
US10997315B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10503926B2 (en) | 2016-06-10 | 2019-12-10 | OneTrust, LLC | Consent receipt management systems and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11074367B2 (en) | 2016-06-10 | 2021-07-27 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10873606B2 (en) | 2016-06-10 | 2020-12-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10706131B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US10839102B2 (en) | 2016-06-10 | 2020-11-17 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11146566B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10416966B2 (en) | 2016-06-10 | 2019-09-17 | OneTrust, LLC | Data processing systems for identity validation of data subject access requests and related methods |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11025675B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10944725B2 (en) | 2016-06-10 | 2021-03-09 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10796260B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Privacy management systems and methods |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10607028B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10803200B2 (en) | 2016-06-10 | 2020-10-13 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US10706176B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data-processing consent refresh, re-prompt, and recapture systems and related methods |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US10848523B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11038925B2 (en) | 2016-06-10 | 2021-06-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11138242B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10572686B2 (en) | 2016-06-10 | 2020-02-25 | OneTrust, LLC | Consent receipt management systems and related methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11023842B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10169609B1 (en) | 2016-06-10 | 2019-01-01 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US10565161B2 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10769301B2 (en) | 2016-06-10 | 2020-09-08 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US10565236B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10776517B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US11151233B2 (en) | 2016-06-10 | 2021-10-19 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11144675B2 (en) | 2018-09-07 | 2021-10-12 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
CN111538970B (zh) * | 2020-07-08 | 2020-12-22 | 德能森智能科技(成都)有限公司 | 一种基于智能化物联网的云平台系统 |
WO2022011142A1 (en) | 2020-07-08 | 2022-01-13 | OneTrust, LLC | Systems and methods for targeted data discovery |
EP4189569A1 (en) | 2020-07-28 | 2023-06-07 | OneTrust LLC | Systems and methods for automatically blocking the use of tracking tools |
WO2022032072A1 (en) | 2020-08-06 | 2022-02-10 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
WO2022060860A1 (en) | 2020-09-15 | 2022-03-24 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
US11526624B2 (en) | 2020-09-21 | 2022-12-13 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
EP4241173A1 (en) | 2020-11-06 | 2023-09-13 | OneTrust LLC | Systems and methods for identifying data processing activities based on data discovery results |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
US11442906B2 (en) | 2021-02-04 | 2022-09-13 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
US20240111899A1 (en) | 2021-02-08 | 2024-04-04 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US20240098109A1 (en) | 2021-02-10 | 2024-03-21 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
US11775348B2 (en) | 2021-02-17 | 2023-10-03 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
WO2022178219A1 (en) | 2021-02-18 | 2022-08-25 | OneTrust, LLC | Selective redaction of media content |
EP4305539A1 (en) | 2021-03-08 | 2024-01-17 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11675917B2 (en) | 2021-04-22 | 2023-06-13 | Bank Of America Corporation | Electronic system for dynamically permitting and restricting access to and modification of computer resources |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095571A1 (en) * | 2001-01-18 | 2002-07-18 | Bradee Robert L. | Computer security system |
US20030217068A1 (en) * | 2002-05-16 | 2003-11-20 | International Business Machines Corporation | Method, system, and program for managing database operations |
US20060021062A1 (en) * | 2004-06-21 | 2006-01-26 | Jang Hyun S | Method of downloading contents and system thereof |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634455B1 (en) | 1999-09-23 | 2009-12-15 | Agile Software Corporation | Method and apparatus for providing controlled access to software objects and associated documents |
US8650266B2 (en) * | 2002-03-26 | 2014-02-11 | At&T Intellectual Property Ii, L.P. | Cache validation using smart source selection in a data network |
US7865595B2 (en) | 2002-12-18 | 2011-01-04 | International Business Machines Corporation | Processing call requests with respect to objects |
WO2004081725A2 (en) * | 2003-03-11 | 2004-09-23 | Gtv Solutions, Inc. | Communications interchange system |
US7614078B1 (en) * | 2003-04-02 | 2009-11-03 | Cisco Technology, Inc. | Threshold access based upon stored credentials |
US7441011B2 (en) | 2003-10-23 | 2008-10-21 | Microsoft Corporation | Truth on client persistent caching |
US7921299B1 (en) | 2003-12-05 | 2011-04-05 | Microsoft Corporation | Partner sandboxing in a shared multi-tenant billing system |
US20090313682A1 (en) | 2004-01-06 | 2009-12-17 | Saeed Rajput | Enterprise Multi-interceptor Based Security and Auditing Method and Apparatus |
US7558917B2 (en) | 2004-02-13 | 2009-07-07 | Microsoft Corporation | Inverse query engine systems with cache and methods for cache maintenance |
JP2007004694A (ja) * | 2005-06-27 | 2007-01-11 | Toshiba Corp | コンタクトセンター・システム、個人情報配信装置、配信方法、および配信プログラム |
CN100454849C (zh) * | 2005-08-05 | 2009-01-21 | 华为技术有限公司 | 下一代网络中的故障检测方法 |
US8381287B2 (en) | 2006-07-19 | 2013-02-19 | Secure Exchange Solutions, Llc | Trusted records using secure exchange |
US7765195B2 (en) * | 2006-11-07 | 2010-07-27 | Microsoft Corporation | Trimmed and merged search result sets in a versioned data environment |
US7505973B2 (en) * | 2007-01-16 | 2009-03-17 | Microsoft Corporation | Efficient paging of search query results |
US20080195824A1 (en) | 2007-02-09 | 2008-08-14 | Microsoft Corporation | Context sensitive caching on removable storage |
US20080243699A1 (en) * | 2007-03-29 | 2008-10-02 | Microsoft Corporation | License optimization and automated management |
US20090132419A1 (en) | 2007-11-15 | 2009-05-21 | Garland Grammer | Obfuscating sensitive data while preserving data usability |
JP5055482B2 (ja) * | 2007-12-20 | 2012-10-24 | 株式会社メガチップス | 情報処理装置、情報処理システムおよび認証方法 |
US20090244095A1 (en) | 2008-04-01 | 2009-10-01 | Research In Motion Limited | Run-time label cache for efficient map labeling |
US8452803B2 (en) | 2008-04-29 | 2013-05-28 | Samir Ghosh | Method and system for distributed data management of personal data in a social networking context |
US8037525B2 (en) * | 2008-07-16 | 2011-10-11 | International Business Machines Corporation | Access control and entitlement determination for hierarchically organized content |
US8204853B2 (en) | 2008-11-17 | 2012-06-19 | Microsoft Corporation | Maintaining client data integrity in a distributed environment using asynchronous data submission |
US20110252459A1 (en) | 2010-04-12 | 2011-10-13 | Walsh Robert E | Multiple Server Access Management |
US20130268310A1 (en) * | 2012-04-05 | 2013-10-10 | Ryan W. Wilson | Scheduling system, method and computer-readable medium |
US8982499B1 (en) * | 2013-08-23 | 2015-03-17 | Kabushiki Kaisha Toshiba | Timing of power state change in a disk drive based on disk access history |
US20150220599A1 (en) * | 2014-01-31 | 2015-08-06 | International Business Machines Corporation | Automobile airbag deployment dependent on passenger size |
US20150244972A1 (en) * | 2014-02-27 | 2015-08-27 | United Video Properties Inc. | Methods and systems for determining lengths of time for retaining media assets |
-
2011
- 2011-11-01 US US13/286,219 patent/US9336324B2/en active Active
-
2012
- 2012-10-31 EP EP12845622.5A patent/EP2774073B1/en active Active
- 2012-10-31 CN CN201210427808.9A patent/CN102982082B/zh active Active
- 2012-10-31 KR KR1020147011707A patent/KR102003086B1/ko active IP Right Grant
- 2012-10-31 JP JP2014540051A patent/JP6053808B2/ja active Active
- 2012-10-31 WO PCT/US2012/062881 patent/WO2013067066A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020095571A1 (en) * | 2001-01-18 | 2002-07-18 | Bradee Robert L. | Computer security system |
US20030217068A1 (en) * | 2002-05-16 | 2003-11-20 | International Business Machines Corporation | Method, system, and program for managing database operations |
US20060021062A1 (en) * | 2004-06-21 | 2006-01-26 | Jang Hyun S | Method of downloading contents and system thereof |
Also Published As
Publication number | Publication date |
---|---|
CN102982082B (zh) | 2016-12-21 |
US9336324B2 (en) | 2016-05-10 |
WO2013067066A2 (en) | 2013-05-10 |
EP2774073A2 (en) | 2014-09-10 |
CN102982082A (zh) | 2013-03-20 |
JP2015501497A (ja) | 2015-01-15 |
US20130111559A1 (en) | 2013-05-02 |
EP2774073B1 (en) | 2019-05-15 |
EP2774073A4 (en) | 2015-07-29 |
KR20140088120A (ko) | 2014-07-09 |
WO2013067066A3 (en) | 2013-08-15 |
JP6053808B2 (ja) | 2016-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102003086B1 (ko) | 보안 트리밍을 위한 지능형 캐싱 기법 | |
US9986022B2 (en) | Push-based cache invalidation notification | |
US8468586B2 (en) | Methods and systems for implementing policy based trust management | |
US20220303345A1 (en) | Secure, Anonymous Browsing with a Remote Browsing Server | |
US8590003B2 (en) | Controlling access to resources by hosted entities | |
RU2367997C2 (ru) | Усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации | |
EP2586171B1 (en) | Method, server and system for granting temporary access to electronic content | |
US8739255B2 (en) | Replicating selected secrets to local domain controllers | |
US10108729B2 (en) | Systems and methods for anonymous construction and indexing of visitor databases using first-party cookies | |
US20080228776A1 (en) | Devices and methods for searching a network of distributed content servers | |
US20140304324A1 (en) | Content management apparatus, content management method, and program | |
US20210034760A1 (en) | Caching for high-performance web applications | |
US20080270906A1 (en) | Method and system to share content | |
US20060265481A1 (en) | Systems and methods for providing features and user interfaces therefor in network browsing applications | |
US20080228740A1 (en) | Systems and methods for searching a network of distributed content servers | |
US20090063590A1 (en) | Operating System Support of Graceful Degradation for Web Applications | |
US9135452B2 (en) | Method and system for anonymization in continuous location-based services | |
US11522863B2 (en) | Method and system for managing resource access permissions within a computing environment | |
US7644286B1 (en) | System and method for restricting data access | |
JP5026130B2 (ja) | メール管理方法およびメール管理システム並びにメール管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |