RU2163726C2 - Способ работы компьютерной системы - Google Patents
Способ работы компьютерной системы Download PDFInfo
- Publication number
- RU2163726C2 RU2163726C2 RU97105825/09A RU97105825A RU2163726C2 RU 2163726 C2 RU2163726 C2 RU 2163726C2 RU 97105825/09 A RU97105825/09 A RU 97105825/09A RU 97105825 A RU97105825 A RU 97105825A RU 2163726 C2 RU2163726 C2 RU 2163726C2
- Authority
- RU
- Russia
- Prior art keywords
- file
- identifier
- request
- open
- operating system
- Prior art date
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/542—Intercept
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/959—Network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Forklifts And Lifting Vehicles (AREA)
- Control Of Eletrric Generators (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к способу доступа к файлам на уровне операционной системы. Технический результат заключается в повышении надежности лицензирования прикладной программы. Технический результат достигается за счет того, что способ работы компьютерной системы, в которой операционная система периодически осуществляет запросы на открытие файла, хранящегося в запоминающем устройстве, заключается в том, что захватывают запрос на открытие файла, идентифицирующего первый файл, подлежащий открытию, на уровне операционной системы, выделяют из запроса на открытие файла идентификатор первого файла, определяют, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, подлежащего открытию вместо первого файла, и, если определено, что идентификатор должен быть заменен, заменяют в запросе на открытие файла идентификатор первого файла на идентификатор замещающего файла, и передают запрос на открытие файла в операционную систему для выполнения. 4 с. и 10 з.п. ф-лы, 4 ил.
Description
Изобретение относится к способу доступа к файлам на уровне операционной системы компьютерной системы.
Иногда требуется модифицировать работу компьютерной системы таким образом, чтобы сделать ее прозрачной как для пользователя, так и для операционной системы компьютерной системы.
Одна из типичных ситуаций, когда возникает данное требование, появляется при стремлении сохранить прикладные программы в сетевом файл-сервере, а не в отдельно стоящем персональном компьютере. Тогда сетевой системный сервер должен лишь инсталлировать одну копию прикладной программы в файл-сервере, которая затем может быть доступна любой машине или рабочей станции в сети. Этот подход обеспечивает повышенную гибкость, например, при изменении параметров настройки прикладной программы или при модификации прикладной программы и уменьшает общее время инсталляции для конкретной прикладной программы, поскольку потребуется только одна инсталляция (которая может занять час или более) для каждого файл-сервера, а не для каждой рабочей станции.
В связи с вышеуказанным подходом возникает проблема лицензирования прикладной программы. По существу все прикладные программы лицензированы с условием, разрешающим их использование либо на одной машине, либо на заранее оговоренном, фиксированном максимальном количестве машин.
Обычно отсутствуют (либо весьма незначительны) технические ограничения на количество пользователей, которые могут одновременно использовать конкретную прикладную программу, инсталлированную в сетевом файл-сервере. Следовательно, чтобы остаться в рамках лицензионной договоренности о количестве пользователей, необходимо реализовать некоторый вариант программного подсчета, предназначенного для ограничения одновременно работающих пользователей прикладной программы в пределах заранее оговоренного максимального числа, определенного в лицензии.
Обычно программный счет осуществляется путем перехвата запросов на выполнение конкретной прикладной программы и проверки того, сколько пользователей уже пользуются данной прикладной программой. Если максимальное количество пользователей уже достигнуто, то последующие запросы на выполнение прикладной программы отвергаются. Если максимальное число не достигнуто, то "копий в работе" увеличивается на единицу и запрос допускается к выполнению как нормальный. По завершении выполнения контролируемой прикладной программы этот факт фиксируется и число "копий в работе" уменьшается на единицу.
Такой контроль с подсчетом обеспечивается по одному из трех вариантов. Во-первых, путем использования резидентной сервисной программы (утилиты) на каждой рабочей станции, которая перехватывает запросы на выполнение сетевых программ и разрешает выполнение в зависимости от числа "копий в работе", поддерживаемого в общем файле сервера. Во-вторых, путем переименования файла запуска сетевой программы, так чтобы вместо сетевой программы выполнялась "заглушка" (пустая подпрограмма). При выполнении заглушка проверяет число "копий в работе", хранящееся в общем файле сервера, и выполняет сетевую программу как дочерний (порожденный) процесс, если максимальное число пользователей не было превышено при выполнении сетевой программы. В-третьих, путем использования сервисной резидентной программы (утилиты) в файл-сервере, которая перехватывает запросы на доступ к сетевой программе и разрешает выполнение на основе значения локального счетчика "копий в работе". Если максимальное количество пользователей уже достигнуто, то тогда сервисная программа посылает код ошибки обратно на рабочую станцию.
Мы считаем, что каждый из вышеупомянутых способов имеет свои преимущества. Первый не надежен, поскольку его можно обойти, не загрузив или наоборот блокировав резидентную сервисную программу рабочей станции. Как в первом, так и во втором способе используется дефицитная память рабочей станции, что уменьшает объем памяти, доступный на рабочей станции (для всех прикладных программ в случае первого способа и для каждой контролируемой сетевой программы в случае второго способа). Третий способ обычно вызывает сообщение о серьезной и возможно неисправимой ошибке от операционной системы рабочей станции, когда выполнение отвергается файл-сервером.
Примеры известных способов блокирования файлов или запрещения выполнения программ известны из патентов США US-A- 5327563 (Singh) и US-A-5155827 (Chering). У Singh блокирование программных файлов в конкретном запоминающем устройстве достигается путем записи зашифрованной информации, определяющей местоположение программных файлов в запоминающей среде, и анализа адресов программного файла до выполнения. У Chering исполняемые файлы перемещаются с жесткого диска на дискету и заменяются на командный файл, использующий известные команды MS-DOS. Соответственно при широком толковании изобретение обеспечивает улучшенный способ доступа к файлам.
Различные аспекты настоящего изобретения определены в независимых пунктах формулы изобретения, приведенной ниже, к которым теперь следует обратиться. Полезные признаки изобретения установлены в зависимых пунктах.
В частности, предлагается способ работы компьютерной системы, имеющей средство памяти, центральный процессор для выполнения работы операционной системы и запоминающее устройство для хранения файла, в которой операционная система периодически выполняет запрос на открытие файла, хранящегося в запоминающем устройстве, причем способ включает захват на уровне операционной системы запроса на открытие файла, идентифицирующего файл, подлежащий открытию. Кроме того, способ включает выделение из запроса на открытие файла идентификатора первого файла и затем определения того, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, подлежащего открытию вместо первого файла, и, если определено, что идентификатор должен быть заменен, то изменение запроса для замены идентификатора первого файла на идентификатор замещающего файла. Затем запрос на открытие файла передается на выполнение либо исправляется или не исправляется в соответствии с результатом определения (необходимости замены идентификатора).
Способ может быть приспособлен для использования как операционной системой, так и пользователем. Способ согласно изобретению, в котором запрос поступает от пользователя, является прозрачным как для операционной системы, так и для пользователя. В частности, он применим для захвата запросов пользователей на открытие файла как в случае, когда запрос исходит от рабочей станции компьютерной сети, так и от автономно работающей машины. В случае, когда компьютерная система является компьютерной сетью, содержащей файл-сервер и, по крайней мере, одну рабочую станцию, способ может включать шаги поддержки записи количества копий первого файла, находящихся в работе в сети, и определения того, следует ли заменить идентификатор первого файла на идентификатор замещающего файла путем проверки того, указывает ли запись на то, что превышено заданное число копий файла в работе из-за выполнения запроса на открытие файла. Таким образом, программный подсчет может быть целиком реализован в файл-сервере без использования какой-либо дополнительной памяти рабочей станции. Затем можно обеспечить отказ по запросам на выполнение сетевой программы благоприятным для пользователя образом или, если подходящее число копий не было превышено, обеспечить для пользователя прозрачное принятие запросов.
Способ может включать выбор замещающего файла из множества потенциальных замещающих файлов в соответствии с идентификатором первого файла. Такой выбор может включать определение того, является ли первый файл исполняемым или нет, и может доходить до определения типа исполняемого первого файла, так что замещающий файл выбирается в соответствии с определенным типом исполняемого файла. Определение типа исполняемого файла может быть выполнено путем сравнения по меньшей мере части имени первого файла с заранее заданным списком имен файлов.
Также предлагается компьютерная система, имеющая средство памяти, центральный процессор для выполнения работы операционной системы и запоминающее устройство для хранения файла, причем операционная система приспособлена для периодического выполнения запросов на открытие файла, хранящегося в запоминающем устройстве, при этом система, кроме того, включает средство для захвата на уровне операционной системы запроса на открытие файла, идентифицирующего первый файл, подлежащий открытию. Система, кроме того, содержит средство для выделения из запроса идентификатора первого файла и средство для определения того, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, подлежащего открытию, и, если определено, что идентификатор заменить следует, изменение запроса для замены идентификатора первого файла на идентификатор замещающего файла. Также предусматривается средство для проведения запроса к месту его возникновения для выполнения.
Теперь, лишь в качестве примера, будет описан предпочтительный вариант воплощения изобретения со ссылками на сопровождающие чертежи, на которых:
фиг. 1 - блок-схема, показывающая типичную компьютерную систему;
фигуры 2A-2B - диаграммы, показывающие соответственно карту распределения памяти системы на уровне операционной системы и системы, модифицированной для работы согласно изобретению;
фиг. 3 - блок-схема, иллюстрирующая принцип изобретения;
фиг. 4 - блок-схема, иллюстрирующая способ программного счета согласно изобретению.
фиг. 1 - блок-схема, показывающая типичную компьютерную систему;
фигуры 2A-2B - диаграммы, показывающие соответственно карту распределения памяти системы на уровне операционной системы и системы, модифицированной для работы согласно изобретению;
фиг. 3 - блок-схема, иллюстрирующая принцип изобретения;
фиг. 4 - блок-схема, иллюстрирующая способ программного счета согласно изобретению.
На фиг. 1 показано, как реализовано изобретение в компьютерной системе 10, содержащей блок центрального процессора (CPU) 12, устройство памяти 14 и запоминающее устройство 16 (изображенное в данном случае в виде дисковода).
Компьютерная система 10 работает с операционной системой. В нижеописанном варианте воплощения это операционная система DOS, используемая в IBM-совместимых персональных компьютерах, но способ согласно изобретению применим с самыми разными операционными системами.
Как показано на фиг. 2A, во всех операционных системах прежде чем использовать файл, хранящийся в запоминающем устройстве 16, осуществляется вызов операционной системы (в данном случае посредством прерывания 21h), который запрашивает открытие файла, поименованного в вызове. Открывая файл, операционная система берет поступившее к ней имя файла и присваивает ему индекс (обычно просто номер), который возвращается назад к процессу, запрашивающему файл для открытия. Индекс файла уникально идентифицирует открытый файл. Когда файл открывается в первый раз, операционная система выполняет различные функции, такие как блокирование файла в запоминающем устройстве 16. Используя индекс файла для его последующей идентификации, удается избежать затрат времени на выполнение этих функций, поскольку конкретные детали файла могут храниться в таблице, которая соотносит элементы файла с его индексом. Если файл для процесса больше не требуется, то он закрывается, что вызывает удаление элемента таблицы, относящегося к этому индексу.
На фиг. 2B отражена ситуация в среде MS-DOC и где путем повторной векторизации точки входа прерывания 21h в новую часть программы может быть перехвачен каждый запрос на открытие файла. Затем выполняется переход к части программы, предназначенной для выполнения, когда появляется это прерывание (как показано стрелками в левой части фигуры). Основные шаги в новой части программы показаны на фиг. 3. Во-первых, выполняется проверка для определения того, появилось ли прерывание благодаря запросу на открытие файла. Если нет, то немедленно осуществляется переход к обычной части программы. Если был захвачен запрос на открытие файла (шаг 20), то путем считывания указанной строки парой регистров CPU DS : DX выделяется имя файла, подлежащего открытию (шаг 22). Эта строка содержит имя файла, подлежащего открытию. Далее определяется, необходима ли замена файла (шаг 24). Это зависит главным образом от того, какой способ используется; несколько примеров использования приведены ниже.
Если файл должен быть заменен, имя в запросе на открытие файла заменяется на имя замещающего файла путем изменения содержимого пары регистров DS : DX для указания на строчку, содержащую имя замещающего файла. Затем осуществляется выполнение обычной части программы (шаг 26). Однако, если определено, что замещение не требуется, то выполняется непосредственный переход к обычной части программы без замещения имени файла (шаг 28).
Замещение является прозрачным как для запрашивающего процесса, так и операционной системы. Запрашивающий процесс просто получает индекс файла, который, как ожидается, относится к файлу, запрашиваемому для открытия, хотя в действительности он относится к замещающему файлу. В противном случае операционная система не сможет определить, что имя файла, подлежащего открытию, было изменено, если процесс произвел запрос, и просто воспринимает то, что появляется, как обычный запрос на открытие файла.
Предпочтительно, чтобы, если исходный файл является исполняемым файлом, замещающий файл являлся исполняемым файлом того же типа. Это может быть важным, поскольку процесс, который запросил исполняемый файл, подлежащий открытию, вероятно затем вызовет выполнение файла. Если замещающий файл не является исполняемым файлом либо является исполняемым файлом другого типа (например, для машины другого типа), то тогда, если замещающий файл будет выполняться, то могут появиться непредсказуемые результаты.
Тип исполняемого исходного файла может быть определен, например, из предположения, что в MS-DOS-совместимой среде существует только пять типов исполняемой программы, а именно, DOS COM, DOS EXE, Windows EXE, OS/2 EXE и Windows NT EXE.
Программа "СОМ" может быть идентифицирована по меньшей мере по расширению имени файла "COM". Все остальные исполняемые программы имеют расширение имени файла "EXE", но также имеют заголовок файла, который уникально идентифицирует, какой же тип файла EXE имеет место. Все файлы EXE кроме файлов DOS EXE имеют сегментированный исполняемый заголовок, который содержит известные байты, идентифицирующие тип исполняемого файла. Файл DOS EXE может быть идентифицирован по расширению "EXE" и отсутствию сегментированного исполняемого заголовка.
Таким образом, тип исполняемого файла может быть определен путем использования комбинации расширений имен файлов, заголовка файла и информации в сегментированном исполняемом заголовке.
Операционные системы должны всегда открывать исполняемый файл для считывания содержимого в память и в общем случае определения размера исполняемой программы из самого файла. Таким образом, нет необходимости, чтобы замещающая программа имела тот же размер, что и исходная запрашиваемая программа, хотя она не должна требовать больше памяти, чем потребовала бы исходная программа, если она должна надежно выполняться.
В предпочтительном варианте воплощения реализуется программный подсчет, как это показано на фиг. 4.
Решение о том, разрешить ли выполнение файла, реализуется в файл-сервере с помощью управляющей утилиты. Как показано на блок-схеме фиг. 4, запрос рабочей станции на открытие файла захватывается (шаг 32) в файл-сервере, и выделяется имя файла, подлежащего открытию (шаг 34). Выделенное имя сравнивается со списком имен файлов, чтобы проверить, является ли данный файл файлом, который контролируется. Если файл не контролируется, то запрос на открытие файла обрабатывается обычным путем (шаг 36). Если файл контролируется, проверяется значение счетчика "копий в работе", чтобы узнать, имеется ли уже в работе максимальное число копий (шаг 38). Если максимальное количество копий еще не достигнуто, то содержимое счетчика увеличивается на единицу (шаг 39) и запрос на открытие файла обрабатывается обычным путем (шаг 36).
Если уже достигнуто максимальное значение счетчика, то тогда необходимо отвергнуть запрос рабочей станции на выполнение программы. Сначала (на шаге 40) определяется тип исполняемого файла (в стандартной MS-DOS среде это может быть, например, выбор между программами Windows и DOS). После определения типа исполняемого файла предпринимается попытка обнаружить подходящую замену (шаг 42). Если замена имеется, то имя файла в запросе на открытие заменяется именем заместителя (шаг 44) и запрос на открытие обрабатывается обычным способом (шаг 36). Если замена не имеется, то на рабочую станцию посылается код ошибки (шаг 46).
Подробнее: если выполнение должно быть отвергнуто, управляющая утилита сначала определяет тип исполняемого файла, к которому осуществляется доступ, используя либо заранее составленную таблицу, либо динамически используя комбинацию из имени файла, расширения, атрибутов директории и/или заголовка файла. На практике большинство типов исполняемых программ, встречающихся в LAN файл-серверах, может быть определено путем использования этого способа вместе с операционными системами DOS, Windows, Windows NT, OS/2 и Macintosh.
Имея определенный тип файла, управляющая утилита заменяет имя файла в запросе на открытие файла на имя замещающей программы того же исполняемого типа и затем разрешает продолжать выполнение запроса.
После замены файла, который рабочая станция собиралась выполнить, на другой файл рабочая станция будет выполнять замещающую программу, когда она поступит, чтобы исполнить открытый файл. Ни рабочая станция, ни операционная система не обнаружат какое-либо изменение. Замещающая программа может быть использована для отображения соответствующего сообщения на рабочую станцию, информирующего пользователя, что данная прикладная программа в настоящее время используется максимальным количеством пользователей и, следовательно, было отказано в ее выполнении. Программа может также предоставить возможность вручную или автоматически попытаться повторно выполнить прикладную программу.
Поскольку в общем случае замещающая программа может определить из операционной системы свое собственное имя и местоположение (то есть имя, которое изначально использовалось в запросе на открытие файла), она может как отобразить имя запрашиваемой прикладной программы, так и вновь попытаться исполнить прикладную программу по цепочке, то есть завершив свое выполнение, и вызвать программу с другим именем (исходную прикладную программу), чтобы начать ее выполнение. Если теперь прикладная программа доступна, то начнется ее выполнение. Если она не доступна, то снова будет выполняться замещающая программа.
Иметь замещающую программу для каждого возможного типа исполняемых файлов нет необходимости, поскольку, в худшем случае, в запросе на открытие файла может быть отказано с выдачей кода ошибки, если нет в наличии замещающей программы или если тип исполняемого файла не может быть определен.
Другой вариант воплощения изобретения позволяет сетевому системному менеджеру посылать сообщение любому пользователю, используя конкретную прикладную программу путем замещения прикладной программы программой, которая генерирует сообщение и затем сцепляется с прикладной программой. Это является улучшением по сравнению с известными утилитами сообщений, которые ограничены адресами конкретной группы поименованных пользователей, вместо того, чтобы адресоваться к пользователю, выполняющему прикладную программу.
При использовании способа согласно изобретению сообщение посылается только тогда, когда выполняется конкретная прикладная программа. Типичное сообщение может представлять собой: "Please note that spreadsheet sales files have been moved to directory X'' (Пожалуйста, имейте ввиду, что табличные файлы продаж были перемещены в директорию X''). Таким образом данное сообщение показывается только заинтересованным пользователям и только в тот момент, в который сообщение актуально.
Еще один вариант воплощения изобретения касается операции, посредством которой сетевой пользователь входит в сеть и которая может быть использована для выполнения работы либо открыто, либо скрытно по отношению к пользователю и/или к операционной системе, как это описано ниже. Программа входа в систему обычно хранится в файл-сервере и может быть замещена способом, подобным тому, который был предложен выше и который связан с подсчетом выполняемых копий прикладной программы. Замещающая программа может быть предназначена для автоматической модификации программного обеспечения рабочей станции, например программ сетевых драйверов, и затем может быть сцеплена с исходной программой входа в сеть. Таким образом, системный менеджер может модифицировать файлы рабочей станции, не появляясь лично на каждой рабочей станции и не полагаясь на пользователя, что он выполнит эту работу. Поскольку управляющая утилита может определить физический адрес рабочей станции, для разных рабочих станций могут выполняться различные операции.
Claims (14)
1. Способ работы компьютерной системы, содержащей устройство памяти, центральный процессор для функционирования операционной системы и запоминающее устройство для хранения файла, в которой операционная система периодически осуществляет запросы на открытие файла, хранящегося в запоминающем устройстве, заключающийся в том, что захватывают запрос на открытие файла, идентифицирующего первый файл, подлежащий открытию, на уровне операционной системы, выделяют из запроса на открытие файла идентификатор первого файла, определяют, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, подлежащего открытию вместо первого файла, и, если определено, что идентификатор должен быть заменен, заменяют в запросе на открытие файла идентификатор первого файла на идентификатор замещающего файла, и передают запрос на открытие файла в операционную систему для выполнения.
2. Способ по п.1, в котором запрос поступает от пользователя, и способ является прозрачным как для операционной системы, так и для пользователя.
3. Способ по п.1, в котором замещающий файл выбирают из множества файлов в соответствии с идентификатором первого файла.
4. Способ по п.1, который включает шаг определения того, является ли первый файл исполняемым файлом.
5. Способ по п.4, в котором замещающий файл выбирают того же типа, что и первый файл.
6. Способ по п.5, в котором, по меньшей мере, часть имени первого файла сравнивают с заранее заданным списком имен файлов для определения типа исполняемого первого файла.
7. Способ по п.5, в котором тип исполняемого первого файла определяют без использования заранее заданного списка имен файлов.
8. Способ по п.7, в котором тип исполняемого файла определяют с помощью заголовка первого файла.
9. Способ по п.1, в котором компьютерная система дополнительно содержит файл-сервер и представляет собой компьютерную сеть, причем способ, кроме того, включает следующие шаги: поддерживают запись числа копий первого файла, находящихся в работе в сети, и в котором при определении, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, проверяют, указывает ли запись на то, что будет превышено заданное число копий при выполнении запроса на открытие файла.
10. Способ по п.9, который выполняют исключительно файл-сервером.
11. Компьютерная система, содержащая устройство памяти, центральный процессор для функционирования операционной системы и запоминающее устройство для хранения файла, в которой операционная система периодически осуществляет запросы на открытие файла, хранящегося в запоминающем устройстве, при этом центральный процессор выполнен с возможностью интерпретации на уровне операционной системы запроса на открытие файла, идентифицирующего первый файл, подлежащий открытию, определения того, следует ли заменить идентификатор первого файла на идентификатор замещающего файла, подлежащего открытию вместо первого файла, и, если определено, что идентификатор следует заменить, изменения в запросе на открытие файла идентификатора первого файла на идентификатор замещающего файла, и передачи запроса на открытие файла в операционную систему для выполнения.
12. Компьютерная система по п.11 в виде компьютерной сети, содержащей файл-сервер и, по меньшей мере, одну рабочую станцию, в которой файл-сервер имеет средство для поддержки записи числа копий первого файла, находящихся в работе в сети, и в которой центральный процессор для определения того, следует ли заменить идентификатор первого файла, выполнен также с возможностью проверки, указывает ли запись на то, что заданное число копий будет превышено при выполнении запроса на открытие файла.
13. Способ ограничения количества копий файла, находящихся в работе в компьютерной системе, содержащей устройство памяти, центральный процессор для функционирования операционной системы и запоминающее устройство для хранения файла, заключающийся в том, что захватывают запрос на открытие файла, идентифицирующего первый файл, подлежащий открытию, на уровне операционной системы, выделяют из запроса на открытие файла идентификатор первого файла, сравнивают идентификатор первого файла с набором идентификаторов файлов для определения, является ли первый файл файлом, который контролируют, проверяют, при условии, если первый файл является файлом, который контролируют, подсчитанное количество копий первого файла, находящихся в работе, для определения того, достигнуто ли максимальное количество копий первого файла, изменяют при условии, если уже максимальное число копий первого файла находится в работе, запрос на открытие файла для замены идентификатора первого файла на идентификатор замещающего файла для создания исправленного запроса на открытие файла, передают исправленный запрос на открытие файла в операционную систему для выполнения.
14. Устройство для ограничения количества копий файла, находящихся в работе, в компьютерной системе, содержащей устройство памяти, центральный процессор для функционирования операционной системы и запоминающее устройство для хранения файла, при этом центральный процессор выполнен с возможностью захвата на уровне операционной системы запроса на открытие файла, идентифицирующего первый файл, подлежащий открытию, выделения из запроса на открытие файла идентификатора первого файла, сравнения идентификатора первого файла с набором идентификаторов файлов для определения того, является ли первый файл файлом, который контролируют, проверки, при условии, если первый файл является файлом, который контролируют, подсчитанного количества копий первого файла, находящихся в работе, для определения, достигнуто ли максимальное количество копий первого файла, изменения, при условии, если уже максимальное число копий первого файла находится в работе, запроса на открытие файла для замены идентификатора первого файла на идентификатор замещающего файла для создания исправленного запроса на открытие файла, и передачи исправленного запрса на открытие файла в операционную систему для выполнения.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/304,098 | 1994-09-09 | ||
US08/304,098 US5701463A (en) | 1994-09-09 | 1994-09-09 | Method of replacing the identity of a file with another as part of a file open request in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
RU97105825A RU97105825A (ru) | 1999-04-20 |
RU2163726C2 true RU2163726C2 (ru) | 2001-02-27 |
Family
ID=23175046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU97105825/09A RU2163726C2 (ru) | 1994-09-09 | 1995-09-06 | Способ работы компьютерной системы |
Country Status (18)
Country | Link |
---|---|
US (1) | US5701463A (ru) |
EP (1) | EP0779999A1 (ru) |
JP (1) | JPH10512981A (ru) |
KR (1) | KR100370820B1 (ru) |
CN (1) | CN1096014C (ru) |
AU (1) | AU698180B2 (ru) |
BG (1) | BG63374B1 (ru) |
BR (1) | BR9508903A (ru) |
CA (1) | CA2199520C (ru) |
CZ (1) | CZ289053B6 (ru) |
FI (1) | FI971583A0 (ru) |
HU (1) | HU220825B1 (ru) |
IS (1) | IS4435A (ru) |
NO (1) | NO314863B1 (ru) |
NZ (1) | NZ292238A (ru) |
PL (1) | PL180841B1 (ru) |
RU (1) | RU2163726C2 (ru) |
WO (1) | WO1996007961A1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2543556C2 (ru) * | 2013-04-30 | 2015-03-10 | Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" | Система контроля доступа к файлам на основе их ручной и автоматической разметки |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08123681A (ja) * | 1994-10-26 | 1996-05-17 | Canon Inc | 管理システム及び端末装置 |
US20080141033A1 (en) * | 1995-02-13 | 2008-06-12 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US7143290B1 (en) * | 1995-02-13 | 2006-11-28 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US6226678B1 (en) * | 1995-09-25 | 2001-05-01 | Netspeak Corporation | Method and apparatus for dynamically defining data communication utilities |
US5894554A (en) * | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
US5754763A (en) * | 1996-10-01 | 1998-05-19 | International Business Machines Corporation | Software auditing mechanism for a distributed computer enterprise environment |
DE69728424T2 (de) * | 1996-10-23 | 2005-02-17 | SDGI Holdings, Inc., Wilmington | Abstandsstück für wirbel |
US5919257A (en) * | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
US5991778A (en) * | 1997-09-30 | 1999-11-23 | Stratfor Systems, Inc. | Method and apparatus for real-time secure file deletion |
US6070174A (en) * | 1997-09-30 | 2000-05-30 | Infraworks Corporation | Method and apparatus for real-time secure file deletion |
US6151708A (en) | 1997-12-19 | 2000-11-21 | Microsoft Corporation | Determining program update availability via set intersection over a sub-optical pathway |
IL123512A0 (en) * | 1998-03-02 | 1999-03-12 | Security 7 Software Ltd | Method and agent for the protection against hostile resource use access |
US6728964B1 (en) * | 1998-06-13 | 2004-04-27 | Intel Corporation | Monitoring function |
US6356863B1 (en) | 1998-09-08 | 2002-03-12 | Metaphorics Llc | Virtual network file server |
US6324546B1 (en) * | 1998-10-12 | 2001-11-27 | Microsoft Corporation | Automatic logging of application program launches |
US6263409B1 (en) * | 1998-12-22 | 2001-07-17 | Unisys Corporation | Data processing system and method for substituting one type of request for another for increased performance when processing back-to-back requests of certain types |
US6826574B1 (en) * | 1999-08-27 | 2004-11-30 | Gateway, Inc. | Automatic profiler |
AU2001285441A1 (en) * | 2000-08-31 | 2002-03-13 | Curl Corporation | Hybrid privilege enforcement in a restricted execution environment |
JP2003044155A (ja) * | 2001-07-30 | 2003-02-14 | Hitachi-Lg Data Storage Inc | ソフトウェアのインストール方法及びファームウェアのアップデート方法及びそれらに用いる記録再生装置及び記録媒体 |
US7328225B1 (en) * | 2002-03-27 | 2008-02-05 | Swsoft Holdings, Ltd. | System, method and computer program product for multi-level file-sharing by concurrent users |
US7222135B2 (en) * | 2003-12-29 | 2007-05-22 | Intel Corporation | Method, system, and program for managing data migration |
US7761853B2 (en) * | 2005-02-25 | 2010-07-20 | Kyocera Corporation | Portable terminal device, method for restoring program, method for terminating program, and computer program therefor |
JP4440825B2 (ja) * | 2005-05-17 | 2010-03-24 | 株式会社バンダイナムコゲームス | ゲームプログラム記録媒体 |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US9942271B2 (en) * | 2005-12-29 | 2018-04-10 | Nextlabs, Inc. | Information management system with two or more interactive enforcement points |
GB2443005A (en) * | 2006-07-19 | 2008-04-23 | Chronicle Solutions | Analysing network traffic by decoding a wide variety of protocols (or object types) of each packet |
KR100856245B1 (ko) * | 2006-12-26 | 2008-09-03 | 삼성전자주식회사 | 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법 |
US10540651B1 (en) * | 2007-07-31 | 2020-01-21 | Intuit Inc. | Technique for restricting access to information |
JP2009175790A (ja) * | 2008-01-21 | 2009-08-06 | Nec Corp | コンテンツ資産管理システム、方法および制御プログラム |
US10268775B2 (en) * | 2012-09-17 | 2019-04-23 | Nokia Technologies Oy | Method and apparatus for accessing and displaying private user information |
US9792350B2 (en) * | 2013-01-10 | 2017-10-17 | International Business Machines Corporation | Real-time classification of data into data compression domains |
US9053121B2 (en) | 2013-01-10 | 2015-06-09 | International Business Machines Corporation | Real-time identification of data candidates for classification based compression |
US9564918B2 (en) | 2013-01-10 | 2017-02-07 | International Business Machines Corporation | Real-time reduction of CPU overhead for data compression |
US20140201681A1 (en) * | 2013-01-16 | 2014-07-17 | Lookout, Inc. | Method and system for managing and displaying activity icons on a mobile device |
CN108959297B (zh) * | 2017-05-19 | 2021-09-28 | 海马云(天津)信息技术有限公司 | 文件系统返回指定标识的方法、装置及电子设备 |
US11328089B2 (en) * | 2019-09-20 | 2022-05-10 | International Business Machines Corporation | Built-in legal framework file management |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4757533A (en) * | 1985-09-11 | 1988-07-12 | Computer Security Corporation | Security system for microcomputers |
US4825354A (en) * | 1985-11-12 | 1989-04-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of file access in a distributed processing computer network |
JPS63655A (ja) * | 1986-06-20 | 1988-01-05 | Fujitsu Ltd | 計算機ネツトワ−クにおける共有デ−タの更新方法 |
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US5008820A (en) * | 1987-03-30 | 1991-04-16 | International Business Machines Corporation | Method of rapidly opening disk files identified by path names |
US5109515A (en) * | 1987-09-28 | 1992-04-28 | At&T Bell Laboratories | User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services |
US5390297A (en) * | 1987-11-10 | 1995-02-14 | Auto-Trol Technology Corporation | System for controlling the number of concurrent copies of a program in a network based on the number of available licenses |
CA1323448C (en) * | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5155827A (en) * | 1989-03-17 | 1992-10-13 | Ghering Boyd W | Method for inhibiting an executable program in a disk operating system by replacing the program with an unexecutable program |
US5261051A (en) * | 1989-08-14 | 1993-11-09 | Microsoft Corporation | Method and system for open file caching in a networked computer system |
CA2067633C (en) * | 1991-07-24 | 1996-10-01 | Eric Jonathan Bauer | Method and apparatus for accessing a computer-based file system |
US5257381A (en) * | 1992-02-28 | 1993-10-26 | Intel Corporation | Method of intercepting a global function of a network operating system and calling a monitoring function |
GB2270581A (en) * | 1992-09-15 | 1994-03-16 | Ibm | Computer workstation |
US5327563A (en) * | 1992-11-13 | 1994-07-05 | Hewlett-Packard | Method for locking software files to a specific storage device |
US6317742B1 (en) * | 1997-01-09 | 2001-11-13 | Sun Microsystems, Inc. | Method and apparatus for controlling software access to system resources |
-
1994
- 1994-09-09 US US08/304,098 patent/US5701463A/en not_active Expired - Lifetime
-
1995
- 1995-09-06 KR KR1019970701523A patent/KR100370820B1/ko not_active IP Right Cessation
- 1995-09-06 JP JP8509310A patent/JPH10512981A/ja active Pending
- 1995-09-06 CZ CZ1997701A patent/CZ289053B6/cs not_active IP Right Cessation
- 1995-09-06 CN CN95195560A patent/CN1096014C/zh not_active Expired - Fee Related
- 1995-09-06 NZ NZ292238A patent/NZ292238A/xx unknown
- 1995-09-06 CA CA002199520A patent/CA2199520C/en not_active Expired - Fee Related
- 1995-09-06 BR BR9508903A patent/BR9508903A/pt not_active IP Right Cessation
- 1995-09-06 EP EP95930650A patent/EP0779999A1/en not_active Withdrawn
- 1995-09-06 AU AU33963/95A patent/AU698180B2/en not_active Ceased
- 1995-09-06 WO PCT/GB1995/002106 patent/WO1996007961A1/en active IP Right Grant
- 1995-09-06 PL PL95320609A patent/PL180841B1/pl not_active IP Right Cessation
- 1995-09-06 RU RU97105825/09A patent/RU2163726C2/ru not_active IP Right Cessation
- 1995-09-06 HU HU9702179A patent/HU220825B1/hu not_active IP Right Cessation
-
1997
- 1997-03-05 BG BG101285A patent/BG63374B1/bg unknown
- 1997-03-06 IS IS4435A patent/IS4435A/is unknown
- 1997-03-07 NO NO19971065A patent/NO314863B1/no unknown
- 1997-04-15 FI FI971583A patent/FI971583A0/fi active IP Right Revival
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2543556C2 (ru) * | 2013-04-30 | 2015-03-10 | Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" | Система контроля доступа к файлам на основе их ручной и автоматической разметки |
Also Published As
Publication number | Publication date |
---|---|
FI971583A (fi) | 1997-04-15 |
BG63374B1 (bg) | 2001-11-30 |
CZ289053B6 (cs) | 2001-10-17 |
KR100370820B1 (ko) | 2003-04-08 |
BG101285A (en) | 1997-10-31 |
NO314863B1 (no) | 2003-06-02 |
JPH10512981A (ja) | 1998-12-08 |
MX9701777A (es) | 1997-10-31 |
AU698180B2 (en) | 1998-10-29 |
PL320609A1 (en) | 1997-10-13 |
HUT77156A (hu) | 1998-03-02 |
HU220825B1 (hu) | 2002-05-28 |
EP0779999A1 (en) | 1997-06-25 |
FI971583A0 (fi) | 1997-04-15 |
CA2199520C (en) | 2006-05-30 |
PL180841B1 (pl) | 2001-04-30 |
US5701463A (en) | 1997-12-23 |
AU3396395A (en) | 1996-03-27 |
CZ9700701A3 (en) | 2001-06-13 |
BR9508903A (pt) | 1998-01-13 |
CN1166213A (zh) | 1997-11-26 |
CA2199520A1 (en) | 1996-03-14 |
CN1096014C (zh) | 2002-12-11 |
WO1996007961A1 (en) | 1996-03-14 |
NZ292238A (en) | 1997-08-22 |
IS4435A (is) | 1997-03-06 |
NO971065L (no) | 1997-05-07 |
NO971065D0 (no) | 1997-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2163726C2 (ru) | Способ работы компьютерной системы | |
TW588255B (en) | Operating system abstraction and protection layer | |
US7444671B2 (en) | Protected execution environments within a computer system | |
US6594686B1 (en) | Obtaining user responses in a virtual execution environment | |
US8074231B2 (en) | Configuration of isolated extensions and device drivers | |
US9292666B2 (en) | Methods and apparatus for locating an unauthorized virtual machine | |
US5832513A (en) | Detecting significant file system alterations during execution of a storage media software utility | |
US20070113291A1 (en) | Method for administrating the function access | |
US20030005168A1 (en) | System and method for auditing system call events with system call wrappers | |
PL183365B1 (pl) | Sposób zarządzania systemem komputerowym opartym na mikroprocesorze | |
JP2007249782A (ja) | 電子データ流出防止プログラム | |
US6728964B1 (en) | Monitoring function | |
EP1361496B1 (en) | Alteration of executable code module load locations | |
US20050027954A1 (en) | Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data | |
US6986058B1 (en) | Method and system for providing data security using file spoofing | |
MXPA97001777A (en) | Method for operating a comp system | |
MX2008005403A (en) | Configuration of isolated extensions and device drivers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20070907 |