RU2163726C2 - Способ работы компьютерной системы - Google Patents

Способ работы компьютерной системы Download PDF

Info

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
Application number
RU97105825/09A
Other languages
English (en)
Other versions
RU97105825A (ru
Inventor
Брайн Малькольм Питер
Original Assignee
Чейенн Эдванст Текнолоджи Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Чейенн Эдванст Текнолоджи Лимитед filed Critical Чейенн Эдванст Текнолоджи Лимитед
Publication of RU97105825A publication Critical patent/RU97105825A/ru
Application granted granted Critical
Publication of RU2163726C2 publication Critical patent/RU2163726C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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 показано, как реализовано изобретение в компьютерной системе 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. Устройство для ограничения количества копий файла, находящихся в работе, в компьютерной системе, содержащей устройство памяти, центральный процессор для функционирования операционной системы и запоминающее устройство для хранения файла, при этом центральный процессор выполнен с возможностью захвата на уровне операционной системы запроса на открытие файла, идентифицирующего первый файл, подлежащий открытию, выделения из запроса на открытие файла идентификатора первого файла, сравнения идентификатора первого файла с набором идентификаторов файлов для определения того, является ли первый файл файлом, который контролируют, проверки, при условии, если первый файл является файлом, который контролируют, подсчитанного количества копий первого файла, находящихся в работе, для определения, достигнуто ли максимальное количество копий первого файла, изменения, при условии, если уже максимальное число копий первого файла находится в работе, запроса на открытие файла для замены идентификатора первого файла на идентификатор замещающего файла для создания исправленного запроса на открытие файла, и передачи исправленного запрса на открытие файла в операционную систему для выполнения.
RU97105825/09A 1994-09-09 1995-09-06 Способ работы компьютерной системы RU2163726C2 (ru)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2543556C2 (ru) * 2013-04-30 2015-03-10 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система контроля доступа к файлам на основе их ручной и автоматической разметки

Families Citing this family (38)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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