СИСТЕМА РЕГИСТРАЦИОННОЙ ИНФОРМАЦИИ ДЛЯ ИСПОЛЬЗОВАНИЯ В ВЫЧИСЛИТЕЛЬНОЙ СРЕДЕ
REGISTRATION INFORMATION SYSTEM FOR USE IN COMPUTER ENVIRONMENT

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к объектам идентификации в пределах ограниченной системы, а более конкретно - к идентификации принципалов (пользователь, имеющий право доступа) в пределах вычислительной среды.
УРОВЕНЬ ТЕХНИКИ
Распределенные компьютерные сети, такие как Интернет и корпоративные сети организаций (интранет), обеспечивают пользователей возможностью обмена информацией с другими пользователями с намного большей скоростью, чем предыдущие способы, такие как, например, сохранение файла на диске хранения данных и физическая доставка диска к другой вычислительной системе. В пределах этих распределенных сред, коммуникационный канал связи устанавливают по меньшей мере между двумя компьютерами, что дает возможность перемещать информацию посредством электронной почты, совместного использования файлов или других обычных механизмов перемещения информации. Хотя распределенная обработка данных, конечно, имеет свои преимущества над существующими ранее способами обмена информацией, многие из недостатков, присущих этим существующим ранее механизмам, перенесены в область распределенной обработки информации.
Одной из таких проблем является аутентификация (подтверждение подлинности), поскольку она относится к возможности пользователей-получателей просматривать и обрабатывать информацию, посылаемую от других пользователей. То есть существует относящаяся к безопасности обеспокоенность, действительно ли пользователь, который принимает информацию или получает к ней доступ, является тем пользователем, который аутентифицирован для приема информации или получения к ней доступа. Другая подобная проблема относится к тому, действительно ли пользователь, посылающий информацию, является тем пользователем, которым, как он утверждает, он является. Обе эти обеспокоенности основаны на одной основной концепции - идентификации. Действительно, существующие системы, независимо от того, воплощают ли эти системы с помощью одного автономного компьютера или множества компьютеров, взаимосвязанных в пределах распределенной среды, не обеспечивают идентифицирующую структуру, которая может использоваться во всей системе всеми ресурсами, воплощенными в ней.
Именно относительно этих и других соображений было разработано настоящее изобретение.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В соответствии с настоящим изобретением, указанные выше и другие проблемы решены с помощью системы регистрационной информации для идентификации принципалов в пределах вычислительной среды. Систему регистрационной информации воплощают, используя множество объектов принципалов, каждый из которых соответствует конкретному принципалу, аутентифицированному для выполнения цифрового действия в пределах вычислительной среды. Каждый из этих объектов «принципал» предназначен для использования компьютерным процессом в пределах вычислительной среды для связи по меньшей мере одного объекта «ресурс» с конкретным принципалом, соответствующим объекту «принципал». По меньшей мере один из объектов «принципал» связан по меньшей мере с двумя элементами регистрационной информации. Оба элемента регистрационной информации, связанные с этим объектом «принципал», отдельно и однозначно устанавливают соответствие объекта с конкретным принципалом.
В соответствии с одним из вариантов осуществления, настоящее изобретение воплощают в структуре данных для использования компьютерным процессом при идентификации принципала, аутентифицированного для выполнения цифрового действия в пределах вычислительной среды. Структура данных включает в себя различные утверждения, которые включают в себя утверждение значения, которое однозначно определяет принципала в пределах конкретной идентифицирующей схемы, и утверждение типа, которое указывает конкретную идентифицирующую схему, соответствующую утверждению значения. Дополнительно, структура данных включает в себя утверждение привязки по времени, которое определяет интервал времени, в котором принципала однозначно определяют с помощью утверждения значения в пределах конкретной идентифицирующей схемы. В одном из вариантов осуществления эта структура данных представляет элемент регистрационной информации системы регистрационной информации, обобщенной в предыдущем абзаце.
В соответствии с вариантами осуществления настоящего изобретения, структуру данных кодируют в промышленном изделии, таком как компьютерный программный продукт или считываемый компьютером носитель. Компьютерным программным продуктом могут быть компьютерные носители данных, считываемые компьютерной системой и содержащие код компьютерной программы из команд для выполнения компьютерного процесса. Компьютерным программным продуктом может также быть распространяемый по несущей сигнал, считываемый вычислительной системой и содержащий код компьютерной программы из команд для выполнения компьютерного процесса.
В соответствии с еще одним вариантом осуществления, настоящее изобретение направлено на способ идентификации принципала, аутентифицированного для выполнения цифрового действия в пределах вычислительной среды. Сначала создают объект «принципал» для использования компьютерным процессом в пределах вычислительной среды для идентификации принципала, как связанного с множеством объектов «ресурс». Эти объекты «ресурс» поддерживают в пределах вычислительной среды. Затем объект «принципал» связывают с элементом регистрационной информации, который однозначно идентифицирует принципала в пределах конкретной идентифицирующей схемы. Такую однозначную идентификацию достигают с помощью назначения уникальных идентифицирующих строк группе принципалов, причем принципал является частью этой группы.
Способ затем включает в себя прием множества объектов «ресурс». Эти объекты «ресурс» представляют ресурсы, которые связаны с многочисленными прикладными программами. Дополнительно, каждый из этих многочисленных объектов «ресурс» связан со ссылкой на регистрационную информацию, которая включает в себя описание связи каждого объекта «ресурс» с объектом «принципал». Затем способ идентифицирует каждый из этих принятых объектов «ресурс» как связанные с принципалом, основываясь на описаниях (объявлениях) связей, содержащихся в соответствующих ссылках на регистрационную информацию. Компьютерный процесс затем выполняет задания, используя тот факт, что принципал идентифицирован как связанный с каждым из этих объектов «ресурс».
Способ в соответствии с вариантом осуществления, описанным в предыдущих абзацах, воплощают в соответствии с вариантом осуществления, как компьютерный процесс, полученный их команд, закодированных на или в промышленном изделии, таком как компьютерный программный продукт или считываемый компьютером носитель. Компьютерным программным продуктом могут быть компьютерные носители данных, считываемые компьютерной системой и содержащие код компьютерной программы из команд для выполнения компьютерного процесса. Компьютерным программным продуктом может также быть распространяемый по несущей сигнал, считываемый вычислительной системой и содержащий код компьютерной программы из команд для выполнения компьютерного процесса.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Таким образом, описав изобретение в общих терминах, теперь будет сделана ссылка к сопроводительным чертежам, которые не обязательно начерчены в масштабе и на которых:
Фиг.1 показывает примерную среду, в которой применяют систему регистрационной информации согласно настоящему изобретению в соответствии с вариантом осуществления.
Фиг.2 показывает компьютерную систему, которая может использоваться согласно конкретным аспектам настоящего изобретения.
Фиг.3 - структурная схема, логически иллюстрирующая аспекты взаимоотношений между элементами регистрационной информации и ссылками на регистрационную информацию системы регистрационной информации, показанной на фиг.1.
Фиг.4 - примерная часть листинга кода структуры данных, воплощающей элемент регистрационной информации в соответствии с одним из вариантов осуществления настоящего изобретения.
Фиг.5 - примерная часть листинга кода структуры данных, воплощающей ссылку на регистрационную информацию в соответствии с одним из вариантов осуществления настоящего изобретения.
Фиг.6 - последовательность операций, показывающая характерные особенности процесса идентификации связи между ресурсом в вычислительной среде на фиг.1 и принципалом в системе регистрационной информации в соответствии с одним из вариантов осуществления настоящего изобретения.
Фиг.7 - процесс обнаружения конфликта между элементами регистрационной информации в системе регистрационной информации на фиг.1 в соответствии с одним из вариантов осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение будет теперь описано более подробно со ссылкой к сопроводительным чертежам, на которых показывают варианты осуществления изобретения. Однако это изобретение может воплощаться во многих различных формах, и оно не должно рассматриваться, как ограниченное сформулированными вариантами осуществления; вместо этого данные варианты осуществления обеспечены для того, чтобы это раскрытие было полным и законченным и полностью передавало специалистам форму изобретения. Подобные числа относятся к подобным элементам во всей заявке.
В общем случае, настоящее изобретение относится к идентификации принципалов в пределах вычислительной среды. В соответствии с альтернативными вариантами осуществления изобретения, данная вычислительная среда может быть или одной автономной компьютерной системой или множеством компьютерных систем, связанных для формирования распределенной компьютерной сети, такой как Интернет или корпоративная сеть.
В данной работе определено, что принципал - любой человек, группа людей или компьютерный модуль, который выполняет некоторое действие в вычислительной среде. Примерные принципалы включают в себя операционные системы, компьютерные прикладные программы и процессы, воплощаемые в операционной системе, отдельных людей и группы людей (например, семьи, корпорации, организации и т.д.).
В данной работе определено, что ресурс является машинно-считываемой формой данных, организованных способом для создания электронного файла. Примерные ресурсы включают в себя, без ограничения, веб-страницы, электронные документы (электронная почта, документы обработки текстов, электронные таблицы, рисунки, графические данные и т.д.), звуковые файлы, видеофайлы, или любую другую порцию данных, считываемых компьютерной системой. Чтобы ясно показать варианты осуществления настоящего изобретения, примерные ресурсы, показанные и описанные в данной работе, - документы обработки текстов. Таким образом, объединяя определения для терминов «принципал» и «ресурс», примером действия, которое может выполняться принципалом в пределах вычислительной среды, является создание, получение доступа, редактирование или удаление документа обработки текстов. Специалисты должны признать, что настоящее изобретение также применимо ко всем другим формам ресурсов.
С этими определениями и примерными вариантами осуществления в памяти, фиг.1 показывает логическое изображение вычислительной среды 100, в которой применяют варианты осуществления настоящего изобретения. Вычислительная среда 100 включает в себя множество компьютерных систем 142, взаимосвязанных с помощью сети 150 связи для формирования «распределенной» вычислительной среды. Компьютерные системы 142 могут быть или клиентскими машинами (компьютерами), или серверными машинами. Например, в пределах одного из вариантов осуществления настоящего изобретения рассматривают, что по меньшей мере одна из компьютерных систем 142 является серверной машиной, предназначенной для управления информационным обменом между множеством клиентских машин. Клиентские машины также обращаются к файлам на серверной машине и на других клиентских машинах посредством сети 150 связи.
Следует признать, что сеть 150 связи может быть сетью любого типа, известной специалистам, или ее эквивалентом. Некоторые примерные сети включают в себя, без ограничения, Интернет, корпоративные сети, частные сети связи или даже прямой канал связи между компьютерными системами 142. Таким образом следует понимать, что сеть 150 связи может использовать любое количество технологий связи в зависимости от функций, требуемых вариантом осуществления. Примеры конкретных технологий, которые рассматривают для использования в сети 150 связи, включают в себя без ограничения наземные, сотовые, спутниковые, коротковолновые и микроволновые соединения с Интернет, прямые соединения между оборудованием, используя модемы или другие интерфейсные устройства, и соединения через другие системы связи, такие как локальные сети или глобальные сети. Может использоваться любая их комбинация или комбинация других систем связи, которая остается в пределах формы изобретения.
В соответствии с настоящим изобретением, систему для идентификации принципалов в вычислительной среде 100 воплощают по меньшей мере в одной вычислительной системе 142 в среде 100. Для целей описания, эта система, которую воплощают в совокупности различных структур, показанных на фиг.1, упоминается в дальнейшем как «система регистрационной информации». Для иллюстративных целей, систему регистрационной информации показывают на фиг.1 и описывают ниже как воплощаемую в одной компьютерной системе 142'. Однако описанную систему регистрационной информации фактически воплощают в других компьютерных системах 142 в среде 100. В соответствии с одним из вариантов осуществления настоящего изобретения, эту систему регистрационной информации воплощают во всех системах 142. Альтернативно, данная система регистрационной информации может воплощаться меньше чем во всех системах 142 в среде 100.
Данная система регистрационной информации включает в себя электронные представления принципалов, упоминаемые в данной работе, как объекты 110 «принципал». Другие названия, которые могут использоваться для представления этих электронных представлений, кроме объекта «принципал», - объект «регистрационная информация» и «документ регистрационной информации». Объекты 110 «принципал» связаны с элементами 134 регистрационной информации, однозначно идентифицирующими принципала, которому каждый объект 110 соответствует, и с объектами 138 «данные свойства», которые дополнительно описывают этот принципал. Различием между элементом 134 регистрационной информации и объектом 138 «данные свойства» является то, что объект 138 «данные свойства» включает в себя информацию, которая не однозначно идентифицирует связанного принципала, а вместо этого просто описывает характеристики и другие свойства, связанные с принципалом.
Элемент 134 регистрационной информации воплощают в структуре данных, которая содержит информацию (упоминаемую в данной работе, как «утверждения»), однозначно идентифицирующую объект 110 «принципал», с которым связан элемент 134. Примерные утверждения, которые могут использоваться для формирования элемента 134 регистрационной информации, включают в себя, но не ограничены ими, адреса электронной почты, телефонные номера (и наземной линии связи, и мобильного телефона), номера счета кредитной карты, номера социального обеспечения, номера водительских прав и т.д. Поскольку принципал может быть однозначно идентифицирован, используя более одного утверждения (т.е. большинство людей имеет по меньшей мере адрес электронной почты и телефонный номер), каждый объект 110 «принципал» в системе регистрационной информации предназначен для связи больше чем с одним элементом 134 регистрационной информации. Если кратко сравнивать объекты 138 «данные свойства» с элементами 134 регистрационной информации, то примерный объект 138 «данные свойства» для принципала, который является человеком, включают в себя данные, относящиеся к возрасту, полу, высоте и весу человека. Этот тип информации не может быть утверждением для элемента 134 регистрационной информации, потому что эта информация не является уникальной для любого человека.
Помимо объектов 110 «принципал», элементов 134 регистрационной информации и объектов 138 «данные свойства», система регистрационной информации также включает в себя ссылки 136 на регистрационную информацию. Ссылки 136 на регистрационную информацию - ссылки на элементы 134 регистрационной информации, которые связывают ресурсы 104 в вычислительной среде 100 с соответствующими принципалами. Например, примерный принципал, который связан с документом обработки текстов - автор. Другими примерными ссылками 136 на регистрационную информацию для документа обработки текстов могут быть ссылки 136, которые связаны с элементами 134 регистрационной информации, связанными с принципалами, авторизованными просматривать и/или редактировать документ. Взаимосвязь и различия между элементами 134 регистрационной информации и ссылками 136 на регистрационную информацию описаны более подробно ниже в связи с фиг.3-5.
В одном из вариантов осуществления объекты 110 «принципал», элементы 134 регистрационной информации, ссылки 136 на регистрационную информацию и объекты 138 «данные свойства» являются объектами, соответствующими модели компонентных объектов (COM). Таким образом, процессы и другие объекты любой из компьютерных систем 142 в вычислительной среде 100 взаимодействуют для обмена информацией с этими объектами 110 посредством интерфейса 128 прикладного программирования (API), связанного с каждым объектом 110. Как известно специалистам, API 128 предоставляет свойства и способы (данные и функциональные элементы) объектов (например, 110, 134, 136 и 138) процессам и другим объектам в пределах вычислительной среды (например, 100).
Поскольку ссылки 136 на регистрационную информацию, элементы 134 регистрационной информации и объекты 138 «данные свойства», содержатся в других объектах, каждый из этих внедренных объектов включает в себя API 128, который предоставляет свою функциональность только вышестоящему объекту (т.е. объекту 110 «принципал» для элемента регистрационной информации 134 и объекта 138 «данные свойства» и объекту 104 «ресурс» - для ссылок 136 на регистрационную информацию), а не другим объектам в пределах вычислительной среды 100. Таким образом, когда объект или процесс в пределах вычислительной среды 100 запрашивает доступ к элементу 134 регистрационной информации или к объекту 138 «данные свойства», данный объект или процесс выдает такой запрос к соответствующему объекту 110 «принципал» через API 128 того объекта 110, который в свою очередь обращается к требуемым данным через API 128 элемента 134 регистрационной информации или объекта 138 «данные свойства», доступ к которому запрашивали.
Для того чтобы процесс или модуль в компьютерной системе 142 использовал объекты 110 «принципал», и таким образом - данные, содержащиеся в объектах (например, элемент 134 регистрационной информации и данные свойства 138), эти объекты, подобно любым другим объектам, соответствующим модели COM, должны сначала быть реализованы. Объект 110 «принципал», как говорят, «реализован», когда данные, формирующие объект 110, загружают в память, и данные элемента 134 регистрационной информации и данные свойства 138, а также любые функциональные элементы (т.е. способы) объекта 110 становятся доступными другим объектам. Эта терминология полезна при установлении различий между объектом 110 «принципал» и необработанными данными, которые должны считываться в память для реализации объекта 110. Однако для иллюстративных целей и для обеспечения ясности по всему данному описанию, описания различных вариантов осуществления изобретения, обеспеченные в связи с фиг.3-7, не делают различий между процессами, выполненными с объектом в необработанной форме (например, с объектом 110 «принципал», элементом 134 регистрационной информации, ссылкой 136 на регистрационную информацию и с объектом 138 «данные свойства») и реализованным объектом. Вместо этого, обе эти формы просто воплощают в термине «объект». Однако фиг.1 на самом деле показывает это различие с помощью того, что хранилище 108 данных включает в себя «данные принципала», которые являются необработанными данными, используемыми для формирования объектов 110 «принципал», так же как данные, воплощающие элемент 134 регистрационной информации и данные свойства 138 в компьютерной системе 142'.
Фиг.2 показывает пример соответствующей вычислительной системы 200, в котором могут воплощаться варианты осуществления изобретения. Таким образом, эта система 200 представляет систему, которая может использоваться в качестве компьютерной системы 142 в распределенной вычислительной среде 100. В своей самой основной конфигурации система 200 включает в себя по меньшей мере один процессор 202 и память 204. В зависимости от точной конфигурации и типа вычислительного устройства, память 204 может быть энергозависимой (такой как оперативная память (ОП)), энергонезависимой (такой как постоянное запоминающее устройство (ПЗУ), флэш-память и т.д.) или некоторой их комбинацией. Эта самая основная конфигурация показана на фиг.2 пунктирной линией 206.
В дополнение к памяти 204, система 200 может включать в себя по меньшей мере один считываемый компьютером носитель другого вида. Считываемый компьютером носитель, также называемый «компьютерный программный продукт», может быть любым доступным носителем, к которому может обращаться система 200. Для примера, а не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители данных и средства связи.
Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, воплощенные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программ или другие данные. Память 204, съемные запоминающие устройства 208 и несъемные запоминающие устройства 210 являются примерами компьютерных носителей данных. Компьютерные носители данных включают в себя, но не ограничены ими, ОП, ПЗУ, электрически-стираемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или память другой технологии, компакт диски (CD-ROM), цифровые универсальные диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения необходимой информации и к которому может обращаться система 200. Любые такие компьютерные носители данных могут быть частью системы 200.
Примерная вычислительная система 200 может также содержать коммуникационное соединение(я) 212, которое позволяет системе осуществлять связь с другими устройствами. Коммуникационное соединение(я) 212 является примером средства связи. Средства связи обычно воплощают считываемые компьютером команды, структуры данных, модули программ или другие данные в модулированном сигнале данных, таком как несущая, или используют другой механизм транспортировки и включают в себя любые средства доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или более из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, средства связи включают в себя проводные каналы связи, такие как проводные сети или прямое проводное подключение, и беспроводные каналы связи, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные каналы связи. В данной работе термин «считываемый компьютером носитель» включает в себя и носители данных, и средства связи.
В соответствии с одним из вариантов осуществления, система 200 включает в себя периферийные устройства, такие как устройство(а) 214 ввода информации и/или устройство(а) 216 вывода информации. Примерные устройства 214 ввода информации включают в себя, без ограничения, клавиатуры, компьютерные мыши, перья, или стилусы, устройства голосового ввода информации, сенсорные устройства ввода информации и т.п. Примерное устройство(а) 216 вывода информации включает в себя, без ограничения, дисплеи, динамики и принтеры. Каждое из этих «периферийных устройств» хорошо известно из предшествующего уровня техники и поэтому не описано подробно в данной работе.
С вычислительной средой в памяти, варианты осуществления настоящего изобретения описаны со ссылкой к логическим операциям, выполняемым для воплощения процессов, осуществляющих различные варианты осуществления настоящего изобретения. Эти логические операции воплощают, (1) как последовательность осуществляемых компьютером этапов или модулей программ, выполняющихся в вычислительной системе и/или (2) как взаимосвязанные машинные логические схемы или схемные модули в пределах вычислительной системы. Воплощение - вопрос выбора, зависящий от требований производительности вычислительной системы, воплощающей изобретение. Соответственно, логические операции, составляющие варианты осуществления описанного в данной работе изобретения упоминают по-разному, как операции, структурированные устройства, действия или модули. Специалисты должны признать, что эти операции, структурированные устройства, действия и модули могут воплощаться в программном обеспечении, в аппаратно-программном обеспечении, в специальных цифровых логических схемах и в любой их комбинации, без отхода от объема и формы настоящего изобретения, которое описано в прилагаемой формуле изобретения.
Обращаясь теперь к фиг.3, взаимосвязь между ссылками 136 на регистрационную информацию и элементами 134 регистрационной информации в пределах системы 300 регистрационной информации логически показана в соответствии с одним из вариантов осуществления настоящего изобретения. Более конкретно, фиг.3 показывает связь множества ссылок 136a, 136b и 136c на регистрационную информацию с одним элементом 134a регистрационной информации, а также связь одной ссылки 136d на регистрационную информацию с одним элементом 134b регистрационной информации. Следует признать, что фиг.3 является высокоуровневой иллюстрацией взаимосвязи между ссылками 136 на регистрационную информацию и элементами 134 регистрационной информации и что любое количество ссылок 136 на регистрационную информацию может быть связано с любым количеством любых элементов 134a или 134b регистрационной информации.
В одном из вариантов осуществления ссылки 136 на регистрационную информацию и элементы 134 регистрационной информации, которые составляют систему 300 регистрационной информации, воплощают во множестве компьютеров в пределах распределенной вычислительной среды. Для иллюстрации, ссылка на регистрационную информацию (например, 136b) может быть связана с ресурсом, хранящимся в первой компьютерной системе 142, тогда как элемент 134a регистрационной информации, с которым эта ссылка 136b связана, содержится в объекте 110 «принципал», поддерживаемом во второй компьютерной системе 142. Альтернативно, ссылки 136 на регистрационную информацию и элементы 134 регистрационной информации, которые составляют систему 300 регистрационной информации, хранятся в одной автономной компьютерной системе 142. Создание связи между ссылками 136 на регистрационную информацию и элементами 134 регистрационной информации описано подробно в связи с фиг.4 и 5 и поэтому не повторяется при описании фиг.3. Вместо этого описана только логическая взаимосвязь между этими объектами.
Каждая из ссылок 136a, 136b и 136c на регистрационную информацию, связанная с одним элементом 134a регистрационной информации, связана с различными ресурсами. Например, ссылка 136a на регистрационную информацию может быть связана с документом обработки текстов, ссылка 136b на регистрационную информацию может быть связана с документом электронной таблицы, а ссылка 136c на регистрационную информацию может быть связана с документом электронной почты. Каждая из этих ссылок (136a, 136b и 136c) на регистрационную информацию связана с одним и тем же элементом 134a регистрационной информации и поэтому идентифицирует каждый из этих ресурсов, как связанный с принципалом, соответствующим элементу 134a регистрационной информации. Этот принципал может быть, например, человеком, который создал каждый из этих документов. Другим примерным принципалом может быть организация, которая является работодателем для человека-автора. Аналогично, ссылка 136d на регистрационную информацию связывает ресурс, с которым эта ссылка 136d связана, с элементом 134b регистрационной информации. Таким образом этот ресурс идентифицируется системой 300 регистрационной информации как связанный с принципалом, соответствующим элементу 134b.
Обращаясь теперь к фиг.4 и 5, примерные структуры данных элемента 134 регистрационной информации и ссылки 136 на регистрационную информацию, соответственно, показывают в соответствии с одним из вариантов осуществления настоящего изобретения. В соответствии с одним из вариантов осуществления, каждая из этих структур данных является программным модулем, основанным на расширяемом языке разметки (XML), однако другие языки программирования могут использоваться для создания таких структур данных, и эти другие языки рассматривают, как находящиеся в пределах формы настоящего изобретения. Обращаясь конкретно к фиг.4, элемент 134 регистрационной информации включает в себя различные утверждения 402-414, которые все вместе однозначно определяют одного принципала. Как описано выше, этот принципал может быть компьютерным объектом или устройством, группой компьютерных объектов или устройств, человеком или группой людей. Однако для иллюстрации вариантов осуществления настоящего изобретения элемент 134 регистрационной информации описан ниже как элемент, идентифицирующий одного человека.
Структура данных элемента 134 регистрационной информации включает в себя описание 400 типа, идентифицирующее данную структуру как являющуюся элементом 134 регистрационной информации. Таким образом это описание 400 типа выражено с помощью «элемента_регистрационной_информации». Структура данных дополнительно включает в себя утверждение типа 402 и утверждение значения 404. Дополнительные утверждения включают в себя утверждение отображения 406, утверждение веб-сайта 408, утверждение начала временного интервала 410, утверждение окончания временного интервала 412 и утверждение подписи 414.
Утверждение типа 402 указывает тип уникального идентификатора, который будет связан с элементом 134 регистрационной информации. Примерные утверждения типа 402 включают в себя, без ограничения, следующее: «tel» или «fax», которые указывают, что уникальный идентификатор - телефонный номер; «mailto», который указывает, что уникальный идентификатор - адрес электронной почты; «http», который указывает, что уникальный идентификатор - адрес в сети Интернет; «sid», который указывает, что уникальный идентификатор - идентификатор защиты; «ssn», который указывает, что уникальный идентификатор - номер социального обеспечения; и «cc#», который указывает, что уникальный идентификатор - номер счета кредитной карты. Многие другие типы уникальных утверждений рассматривают, как находящиеся в пределах формы настоящего изобретения, но они не перечислены в предыдущем предложении. Действительно, пока утверждение имеет тип, который определяет значения, соответствующие одному, и только одному принципалу, данное утверждение предназначено для функционирования в качестве утверждения типа 402.
Утверждение значения 404 основано на утверждении типа 402 и обозначено последовательностью символов (алфавитно-цифровых и/или знаков), которые однозначно определяют принципала. Примерные утверждения значения 404 включают в себя, без ограничения, следующее: телефонный номер (например, 0018004568494), адрес электронной почты (например, tempuser@sampleserver.com), адрес в сети Интернет (например, www.tempcomany.com), номер социального обеспечения (например, 427894478) и номер счета кредитной карты (например, 4417354398478474). Регистрационная информация принципала связана с утверждением значения 406. Следует признать, что утверждение значения 406 может идентифицировать или человека, или устройство, или альтернативно группу людей или устройств. Например, телефонный номер может идентифицировать или человека, или семью, или компанию. Если телефонный номер принадлежит семье или компании, то идентифицированный принципал идентифицирует группу, тогда как, если телефонный номер принадлежит человеку, то идентифицированный принципал - человек.
Поскольку некоторые утверждения 402 типа имеют тип, для которого связанные утверждения 404 значения могут однозначно определять различных принципалов в течение различных временных интервалов, структура данных для элемента 134 регистрационной информации дополнительно включает в себя утверждение 410 начала временного интервала и утверждение 412 окончания временного интервала. Например, эти утверждения 410 и 412 используются, когда утверждение типа имеет тип «tel», «fax» или «mailto», потому что эти типы указывают уникальные идентификаторы, которые изменяются через какое-то время.
Утверждение 410 начала временного интервала определяет дату, с которой утверждение 404 значения становится связанным с принципалом, которого оно однозначно определяет. Утверждение 412 окончания временного интервала определяет дату, с которой эта связь окончена. Для иллюстрации, в одном временном интервале Джон До может однозначно определяться телефонным номером 0018004763849, тогда как в другом временном интервале этим телефонным номером вместо этого может однозначно определяться Джейн До. Утверждение 410 начала временного интервала и утверждение 412 окончания временного интервала определяют начальную и конечную даты для этих соответствующих временных интервалов, таким образом завершая однозначное определение этого элемента 134 регистрационной информации для Джона и Джейн До. Следует признать, что если утверждение 412 окончания временного интервала не обеспечено, а утверждение 412 начала временного интервала обеспечено, то связь между утверждением 404 значения и принципалом все еще существует.
Другое дополнительное утверждение - утверждение 406 отображения. Утверждение 406 отображения - строка алфавитно-цифровых символов, основанная на утверждении 404 значения и имеющая форму, которая может распознаваться людьми. Например, утверждение 406 отображения может быть именем человека, отображаемым вместе с адресом электронной почты человека, если утверждение 404 значения - адрес электронной почты. Еще одно дополнительное утверждение - утверждение 408 веб-сайта, который указывает адрес в сети Интернет, где может быть найдена дополнительная информация, относящаяся к принципалу. Другое дополнительное утверждение - утверждение 414 подписи, которое показывает цифровое представление подписи принципала.
Каждое из вышеупомянутых утверждений, которые включают в себя дополнительные утверждения, используется для однозначной связи элемента 134 регистрационной информации с конкретным принципалом. Таким является назначение элемента 134 регистрационной информации. С другой стороны, ссылки 136 на регистрационную информацию предназначены для использования для связи ресурса (например, электронного документа) с принципалом. Как отмечено выше, это достигают с помощью ссылки на конкретный элемент 134 регистрационной информации в ссылке 136 на регистрационную информацию. Обращаясь теперь к фиг.5, структуру данных, иллюстрирующую описания, сделанные в пределах ссылки 136 на регистрационную информацию, показывают в соответствии с одним из вариантов осуществления настоящего изобретения. Структура данных для ссылки 136 на регистрационную информацию включает в себя описание 500 типа, идентифицирующее структуру, как являющуюся ссылкой 136 на регистрационную информацию. Таким образом это описание 500 типа выражено с помощью «ссылки_на_регистрационную_информацию».
Для определения конкретного элемента 134 регистрационной информации, ссылка 136 на регистрационную информацию включает в себя утверждение 502 типа и утверждение 504 значения, соответствующие элементу 134 регистрационной информации, на который ссылаются. Таким образом разработчик ресурса устанавливает ссылки на соответствующие элементы 134 регистрационной информации во время разработки ресурса. Структура ссылки 136 на регистрационную информацию также включает в себя описание 506 даты ссылки, и оно указывает дату, с которой ресурс, связанный со ссылкой 136 на регистрационную информацию, действительно связан с рассматриваемым элементом 134 регистрационной информации.
Когда операционная система компьютерной системы 142 активизирует ресурс, с которым связана ссылка 136 на регистрационную информацию, операционная система должна реализовать ссылку 136 на регистрационную информацию для того, чтобы реализовать и вызвать способы соответствующего объекта 110 «принципал». Соответствующий объект 110 «принципал» определяют, основываясь на том, на какой элемент 134 регистрационной информации ссылается ссылка 136 на регистрационную информацию. После того как соответствующий объект 110 «принципал», и таким образом, соответствующий элемент 134 регистрационной информации, реализован, способы объекта 104 «ресурс» вызывают способы объекта 110 «принципал», которые связывают ресурс с принципалом, соответствующим объекту 110 «принципал». Операционная система затем выполняет задания на ресурсе, используя идентификацию ресурса для объекта 110 «принципал». Примерные задания включают в себя, без ограничения, разрешение просматривать и/или редактировать ресурс, отображение основных характеристик и свойств, связанных с ресурсом, и обеспечение коммуникационного средства связи для принципала через этот ресурс.
Обращаясь теперь к фиг.6, процесс 600 для создания (в дальнейшем, «процесс создания») связи между ресурсом и объектом 110 «принципал» показывают в соответствии с одним из вариантов осуществления настоящего изобретения. Процесс создания 600 выполняют, используя поток операций («поток операции»), который начинается с операции 602 начала и заканчивается операцией 618 окончания. Операцию 602 начала инициализируют, когда к ресурсу в компьютерной системе 142 обращаются некоторым образом. От операции 602 начала поток операции переходит к операции 604 приема, которая принимает ресурс, к которому обращаются в процессе 600 установления, и обнаруживают ссылку 136 на регистрационную информацию, связанную с ресурсом. Следует признать, что термин «принимает» используется в общем смысле, и он относится к доступу к ресурсу с помощью операционной системы компьютерной системы 142. Таким образом прием ресурса охватывает не только прием ресурса от другой компьютерной системы 142, но также и прием ресурса от памяти, местной для компьютерной системы 142, обращающейся к ресурсу. Действительно, в последнем случае, пользователь компьютерной системы 142 запрашивает, чтобы ресурс был активизирован. От операции 604 приема, поток операции переходит к первой операции 606 запроса.
Первая операция 606 запроса обнаруживает, сопровождается ли активизированный ресурс объектом 110 «принципал», содержащим элемент 134 регистрационной информации, который соответствует обнаруженной ссылке 136 на регистрационную информацию. Если «да», то этот объект 110 «принципал», как говорят, «совмещают» с ресурсом и поток операции переходит к операции 607 сохранения. В этом случае связь между ссылкой 136 на регистрационную информацию и соответствующим элементом 134 регистрационной информации связывает ресурс как идентифицируемый с принципалом, соответствующим объекту 110 «принципал», имеющему связанный элемент 134 регистрационной информации. Эта идентифицирующая связь используется операционной системой для выполнения некоторых связанных с идентификацией заданий. Дополнительно, операция 607 сохранения сохраняет объект 110 «принципал» в хранилище 108 данных для будущего использования при воплощении связи между этой и другими ссылками 136 на регистрационную информацию, связанными с элементом 134 регистрационной информации. От операции 607 сохранения поток операции переходит к операции 618 окончания.
С другой стороны, если первая операция 606 запроса не обнаруживает объект 110 «принципал», совмещенный с принятым ресурсом, то поток операции передают к операции 608 сохранения данных доступа. Операция 608 сохранения данных доступа использует утверждение 402 типа и утверждение 404 значения, указанные в обнаруженной ссылке 136 на регистрационную информацию, для проверки, хранится ли уже в хранилище 108 данных объект 110 «принципал», содержащий связанный элемент 134 регистрационной информации. От операции 608 сохранения данных доступа поток операции переходит ко второй операции 610 запроса.
Вторая операция 610 запроса делает запрос, нашла ли операция 608 сохранения данных доступа объект 110 «принципал», содержащий элемент 134 регистрационной информации, имеющий утверждение 502 типа и утверждение 504 значения, указанные в обнаруженной ссылке 136 на регистрационную информацию. Если «да», то поток операции переходит к операции 612 связывания. Операция 612 связывания связывает ссылку 136 на регистрационную информацию с соответствующим элементом 134 регистрационной информации, таким образом связывая ресурс с принципалом, соответствующим объекту 110 «принципал» так, что операционная система может выполнять связанные с идентификацией задания на данном ресурсе.
С другой стороны, если вторая операция 610 запроса не обнаруживает объект 110 «принципал», содержащий элемент 134 регистрационной информации, имеющий утверждение 502 типа и утверждение 504 значения, указанные в обнаруженной ссылке 136 на регистрационную информацию, то поток операции переходит к операции 614 создания фантомного (фиктивного) объекта. Операция 614 создания фантомного объекта создает фантомный объект «принципал», потому что в настоящее время в системе регистрационной информации нет никакого элемента 134 регистрационной информации, с которым может быть связана ссылка 136 на регистрационную информацию. В варианте осуществления, в котором система регистрационной информации охватывает всю распределенную вычислительную среду 100, хранилище 108 данных предназначено для всей компьютерной системы 142 в среде 100. Таким образом, неудача при обнаружении элемента 134 регистрационной информации, связанного с конкретной ссылкой 136 на регистрационную информацию, означает, что элемент 134 поддерживают в системе, которая не является частью распределенной среды 100. Фантомный объект «принципал» создают так, чтобы он содержал элемент 134 регистрационной информации, имеющий утверждение 502 типа и утверждение 504 значения, указанные в ссылке 136 на регистрационную информацию. После того как он создан, поток операции переходит ко второй операции 616 сохранения.
Вторая операция 616 сохранения сначала связывает ссылку 136 на регистрационную информацию с фантомным объектом «принципал», таким образом связывает ресурс с принципалом, соответствующим фантомному объекту «принципал» так, что операционная система может выполнять связанные с идентификацией задания на данном ресурсе. Следует признать, что хранилище 108 данных, в котором сохраняют фантомный объект «принципал», доступно дистанционно другим компьютерным системам 142 в пределах распределенной вычислительной среды. Таким образом, выполняя дополнительные итерации второй операции 610 запроса, фантомный объект «принципал» может быть обнаружен и извлечен через удаленное соединение с хранилищем 108 данных. Альтернативно, если средой является автономная компьютерная система, то фантомный объект «принципал» обнаруживают и извлекают из местной памяти.
Затем вторая операция 616 сохранения сохраняет фантомный объект «принципал» в хранилище 108 данных так, чтобы объект мог использоваться в будущем для идентификации этого и других ресурсов, как связанных с фантомным объектом. Также, если принимают дополнительную информацию, которую добавляют к информации, содержащейся в фантомном объекте, то эту информацию можно объединять с фантомным объектом для того, чтобы потом сформировать более завершенный объект «принципал». Альтернативно, если эта новая информация воплощает объект 110 «принципал», то фантомный объект заменяют этой новой информацией. От второй операции 616 сохранения поток операции переходит к операции 618 окончания.
Фиг.7 показывает процесс 700 обнаружения, находится ли принятый объект 110 «принципал» в конфликте с другим объектом 110 «принципал», хранящимся в хранилище 108 данных в то время, когда принимают новый объект 110 «принципал». Такой конфликт упоминается в данной работе как «ошибка», и он относится к ситуации, в которой принятый объект 110 «принципал» содержит элемент 134 регистрационной информации, определяющий утверждение, которое идентично утверждению, указанному в элементе 134 регистрационной информации, содержащемся в объекте 110 «принципал», уже хранящемся в хранилище 108 данных. Этот процесс 700 «обнаружения» выполняют, используя поток операций, который начинается с операции 700 начала и заканчивается операцией 720 окончания.
Операцию 702 начала инициализируют в ответ на прием объекта 110 «принципал» в вычислительной среде 100. От операции 702 начала поток операции переходит к операции 704 приема, которая принимает объект «принципал» в процесс 700 обнаружения. Объект 110 «принципал» включает в себя по меньшей мере один элемент 134 регистрационной информации и дополнительно включает в себя объект(ы) 138 «данные свойства». Для простоты при описании этого процесса 700 обнаружения, принятый объект 110 «принципал» описывают как имеющий только один элемент 134 регистрационной информации. Следует признать, что объект 110 «принципал» может содержать множество элементов 134 регистрационной информации. В ситуациях, в которых множество элементов 134 регистрационной информации сопровождают принятый объект 110 «принципал», следует понимать, что операция 706 доступа и операция 708 ошибки (обе описаны ниже) должны выполняться для каждого элемента из этого множества элементов 134 регистрационной информации.
Как и в последовательности операций на фиг.6, термин «принимает» используется в общем смысле, и он относится к приему любого объекта «принципал» операционной системой компьютерной системы 142. Примерные процессы, которые приводят к приему объекта 110 «принципал», включают в себя, но не ограничены ими, ввод объекта 110 «принципал» пользователем и передача объекта 110 «принципал» по сети 150 связи между компьютерными системами 142. Например, объект 110 «принципал» может совмещаться с ресурсом, посылаемым от отправляющей компьютерной системы 142 к принимающей компьютерной системе 142. После того как объект 110 «принципал» был принят в процесс 704 обнаружения, поток операции переходит к операции 706 доступа.
Операция 706 доступа использует утверждение 402 типа и утверждение 404 значения, указанные в элементе 134 регистрационной информации, для проверки, хранится ли уже в хранилище 108 данных объект 110 «принципал», содержащий этот элемент 134 регистрационной информации. От операции 706 доступа поток операции переходит к первой операции 708 запроса. Первая операция 708 запроса делает запрос, нашла ли операция 706 доступа объект 110 «принципал», содержащий элемент 134 регистрационной информации, используемый операцией 706 доступа, для выполнения поиска в хранилище 108 данных. В одном из вариантов осуществления эту проверку выполняют, основываясь на утверждении 402 типа и утверждении 404 значения и дополнительно - на утверждениях 410 и 412 временных интервалов, определенных в элементе 134 регистрационной информации принятого объекта 110 «принципал». Альтернативно, другие утверждения (т.е. утверждение 414 подписи или утверждение 408 веб-страницы) могут использоваться при этой проверке. Если объект 110 «принципал», имеющий утверждение с данным значением, не найден в хранилище 108 данных, то нет никакой ошибки и поток операции переходит к операции 710 сохранения. Операция 710 сохранения сохраняет принятый объект 110 «принципал» в хранилище 108 данных для будущего использования при идентификации ресурсов, связанных со ссылками 136 на регистрационную информацию, связанных с элементом 134 регистрационной информации, содержащимся в объекте «принципал». От операции 710 сохранения поток операции переходит к операции 720 окончания.
Если первая операция 708 запроса находит объект 110 «принципал», содержащий элемент 134 регистрационной информации, определяющий то же самое утверждение, как утверждение, проверяемое операцией 708 доступа, то обнаруживают ошибку регистрационной информации, и поток операции переходит ко второй операции 712 запроса. Существует много способов, с помощью которых ошибка может быть создана в системе регистрационной информации. Один такой способ состоит в том, что пользователь пытается добавлять объект 110 «принципал», который уже присутствует в системе регистрационной информации. Второй способ, с помощью которого ошибка может быть создана, состоит в том, что две или больше системы содержат объекты «принципал», соответствующие тому же самому принципалу, и из-за того, что личности или приложения передают эти объекты в распределенной среде 100, эти объекты в конечном счете загружают в ту же самую систему регистрационной информации. Третий такой путь состоит в том, что злоумышленник пытается ввести поддельный объект в систему регистрационной информации.
Вторая операция 712 запроса проверяет вызвавший ошибку объект 110 «принципал», то есть объект, найденный в хранилище 108 данных, для определения, является ли этот объект 110 фантомным объектом, таким как фантомный объект, созданный процессом 600 создания на фиг.6. Если объект - фантомный объект, то поток операции переходит к операции 714 удаления. Операция 714 удаления удаляет фантомный объект так, чтобы принятый объект 110 «принципал» мог быть сохранен в хранилище данных с помощью операции 710 сохранения. Таким образом от операции 714 удаления поток операции переходит к операции 710 сохранения и продолжается так, как описано ранее.
С другой стороны, если вызвавший ошибку объект 110 «принципал» не является фантомным объектом, то поток операции переходит к операции 716 объединения. Операция 716 объединения объединяет все данные, связанные с принятым объектом 110 «принципал», с вызвавшим ошибку объектом 110 «принципал». Например, если принятый объект 110 «принципал» включает в себя утверждение 406 отображения, а вызвавший ошибку объект 110 «принципал» - нет, то это утверждение отображения 406 копируют в вызвавший ошибку объект 110. Таким образом данные, содержащиеся в объекте 138 «данные свойства» принимающего объекта 110 «принципал», которые не включает в себя вызвавший ошибку объект 110, копируют в вызвавший ошибку объект.Если, по некоторым причинам, некоторые утверждения или поля данных находятся в противоречии и не определяют те же самые данные (т.е. строка отображения для утверждения отображения 406 принятого объекта 110 отличаются от утверждения отображения 406 вызвавшего ошибку объекта 110), тогда ошибку исправляют, используя процесс, с помощью которого пользователь или компьютерное приложение выбирает одну из этих двух альтернатив, которые будет включать в себя вызвавший ошибку объект 110 «принципал». От операции 716 объединения поток операции переходит к операции 718 сохранения.
Операция 718 сохранения сохраняет модифицированный объект 110 «принципал» в хранилище 108 данных для будущего использования при идентификации ресурсов, связанных со ссылками 136 на регистрационную информацию, связанными с элементом 134 регистрационной информации, содержащимся в этом модифицированном объекте «принципал». От операции 718 сохранения поток операции переходит к операции 720 окончания.
Различные описанные выше варианты осуществления являются иллюстративными и не должны рассматриваться как ограничивающие предлагаемое изобретение. Специалисты легко увидят различные модификации и изменения, которые могут быть внесены в предлагаемое изобретение, не выходя из объема предлагаемого изобретения, который определен следующей формулой изобретения.