Устройство и способ связи
Иллюстрации
Показать всеИзобретение относится к устройству связи и способу связи. Технический результат заключается в осуществлении вызова команд между операционными системами без снижения уровня безопасности операционных систем. Устройство связи включает в себя: первую операционную систему, которая исполняет команды, принадлежащие к первой группе команд; вторую операционную систему, которая исполняет команды, принадлежащие ко второй группе команд, отличной от первой группы команд; и определительный блок, который, когда первая команда, принадлежащая к первой группе команд, получена от внешнего устройства, вводит первую команду в первую операционную систему, когда первый ответ выведен из первой операционной системы в качестве ответа на первую команду, передает первый ответ на внешнее устройство, и, когда вторая команда, принадлежащая ко второй группе команд, выведена из первой операционной системы в качестве ответа на первую команду, вводит вторую команду во вторую операционную систему и далее вводит в первую операционную систему второй ответ в качестве ответа на вторую команду, выведенную из второй операционной системы. 2 н. и 10 з.п. ф-лы, 19 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству связи, способу связи и программе.
Уровень техники
Карты ИС (интегральных схем), в которые включены интегральные схемы, способные к записи информации и вычислениям, введены в практическое использование. В частности, карты ИС, также называемые смарт-картами, которые содержат процессор в интегральной схеме и осуществляют обработку текущей информации, широко используются сегодня для различных применений в качестве средств расчетов или средств идентификации личности в повседневной жизни.
В общем, обработка информации на картах ИС осуществляется посредством получения команды, исходящей от внешнего устройства, которое может устанавливать связь с картой ИС. Что касается команд, поданных в карту ИС, существуют различные типы, которые заставляют карту ИС выполнять ввод или вывод информации, вычисления, обеспечение безопасности и тому подобное. Поэтому многие из разработанных за последнее время карт ИС включают операционную систему (далее называемую ОС), которая предоставляет платформу для выполнения такой группы команд в ее схеме. Существуют случаи, когда множество видов ОС включены в карту ИС, чтобы позволить карте ИС работать во взаимодействии с множеством внешних устройств, удовлетворяющих различным техническим требованиям и расширить функциональные возможности карты ИС.
В качестве методов, относящихся к карте ИС, включающей множество ОС, известны, например, методы, описанные в патентном документе 1 и патентном документе 2 ниже. Например, патентный документ 1 раскрывает метод, который объединяет ОС для контактных карт ИС и бесконтактных карт ИС в одну схему и удерживает информацию связи с данными, обрабатываемыми каждой ОС, чтобы таким образом обеспечить разделение данных между ОС. Далее, патентный документ 2 раскрывает метод, который управляет историей обработки каждой индивидуальной команды, чтобы таким образом предотвратить осуществление другой команды другой ОС во время выполнения команды определенной ОС.
Ссылки
Патентная литература
Патентный документ 1: JP 2002-259922 (А)
Патентный документ 2: JP 2007-122289 (А)
Сущность изобретения
Техническая проблема
Однако возникает ситуация, когда желательно использовать функцию второй ОС карты ИС, например, посредством использования протокола, который может работать во взаимодействии только с первой ОС карты ИС. В этом случае, если интерфейс, который принимает команду от первой ОС, создан путем осуществления модификации во второй ОС, уровень безопасности второй ОС снижается. Далее, применение метода, раскрытого в патентных документах 1 и 2, увеличивает необходимость добавить функцию в обе ОС, что вызывает возможность уменьшения разносторонности или расширяемости самой ОС.
Настоящее изобретение выполнено ввиду описанной выше проблемы и имеет своей целью предоставить новое и усовершенствованное устройство связи, способ связи и программу, которые позволяют осуществить вызов команд между ОС без снижения уровня безопасности ОС.
Техническое решение
В соответствии с первым объектом настоящего изобретения предложено устройство связи, которое включает в себя первую операционную систему, которая исполняет команды, принадлежащие к первой группе команд, вторую операционную систему, которая исполняет команды, принадлежащие ко второй группе команд, отличной от первой группы команд, и определительный блок, который, когда первая команда, принадлежащая к первой группе команд, получена от внешнего устройства, вводит эту первую команду в первую операционную систему, когда первый ответ выведен из первой операционной системы в качестве ответа на первую команду, передает этот первый ответ на внешнее устройство и, когда вторая команда, принадлежащая ко второй группе команд, выведена из первой операционной системы в качестве ответа на первую команду, вводит эту вторую команду во вторую операционную систему и далее вводит второй ответ в качестве ответа на вторую команду, выведенную из второй операционной системы, в первую операционную систему.
Далее, когда вторая команда, принадлежащая ко второй группе команд, получена от внешнего устройства, определительный блок может ввести вторую команду во вторую операционную систему, и когда второй ответ выведен из второй операционной системы в качестве ответа на вторую команду, полученную от внешнего устройства, определительный блок может передать второй ответ на внешнее устройство.
Далее, первая операционная система может включать в себя блок преобразования команд, который преобразует по меньшей мере одну команду, принадлежащую к первой группе команд, в команду, принадлежащую ко второй группе команд.
Далее, команды, принадлежащие к первой группе команд, могут содержать секцию заголовка и секцию данных, и блок преобразования команд может преобразовывать команду путем извлечения команды, принадлежащей ко второй группе команд, из секции данных команды, принадлежащей к первой группе команд.
Далее, первая операционная система может дополнительно включать в себя таблицу преобразований для преобразования команды, принадлежащей к первой группе команд, в команду, принадлежащую ко второй группе команд, и блок преобразования команд может преобразовывать команду путем обращения к таблице преобразований и получения команды, принадлежащей ко второй группе команд, связанной с командой, принадлежащей к первой группе команд.
Далее, первая операционная система может включать в себя первый блок преобразования команд, который преобразует по меньшей мере одну команду, принадлежащую к первой группе команд, в команду, принадлежащую ко второй группе команд, и второй блок преобразования команд, который преобразует по меньшей мере одну команду, принадлежащую к первой группе команд, в другую команду, принадлежащую ко второй группе команд.
Далее, устройство связи может дополнительно включать в себя третью операционную систему, которая исполняет команды, принадлежащие к третьей группе команд, отличной от первой группы команд и второй группы команд, и первая операционная система может включать в себя первый блок преобразования команд, который преобразует по меньшей мере одну команду, принадлежащую к первой группе команд, в команду, принадлежащую ко второй группе команд, и второй блок преобразования команд, который преобразует по меньшей мере одну команду, принадлежащую к первой группе команд, в команду, принадлежащую к третьей группе команд.
Далее, когда вторая команда выведена из первой операционной системы в качестве ответа на первую команду, определительный блок может перезаписать информацию, идентифицирующую приложение второй операционной системы и содержащуюся во второй команде, в соответствии с заранее заданной таблицей соответствия перед вводом второй команды во вторую операционную систему.
Далее, команды, принадлежащие ко второй группе команд, могут содержать секцию заголовка и секцию данных, и когда вторая команда выведена из первой операционной системы в качестве ответа на первую команду, определительный блок может ввести вторую команду во вторую операционную систему, только когда секция заголовка второй команды удовлетворяет заранее заданному условию, установленному заранее.
Далее, когда второй ответ в качестве ответа на вторую команду не выведен из второй операционной системы, даже если истек заранее заданный интервал времени после ввода второй команды во вторую операционную систему, определительный блок может ввести вторую команду во вторую операционную систему снова.
Далее, когда второй ответ в качестве ответа на вторую команду не выведен из второй операционной системы, даже если истек заранее заданный интервал времени после ввода второй команды во вторую операционную систему, определительный блок может ввести в первую операционную систему ответ, означающий наступление ошибки.
Далее, в соответствии с другим объектом настоящего изобретения предложен способ связи в устройстве связи, включающем первую операционную систему, которая исполняет команды, принадлежащие к первой группе команд, и вторую операционную систему, которая исполняет команды, принадлежащие ко второй группе команд, отличной от первой группы команд, при этом способ включает в себя этапы, на которых: когда первая команда, принадлежащая к первой группе команд, получена от внешнего устройства, вводят первую команду в первую операционную систему; когда первый ответ выведен из первой операционной системы в качестве ответа на первую команду, передают первый ответ на внешнее устройство; когда вторая команда, принадлежащая ко второй группе команд, выведена из первой операционной системы в качестве ответа на первую команду, вводят вторую команду во вторую операционную систему; и вводят второй ответ, выведенный из второй операционной системы в качестве ответа на вторую команду, выведенную из первой операционной системы, в первую операционную систему.
Далее, в соответствии с другим объектом настоящего изобретения, предложена программа, заставляющая компьютер управлять устройством связи для функционирования в качестве первой операционной системы, которая исполняет команды, принадлежащие к первой группе команд, второй операционной системы, которая исполняет команды, принадлежащие ко второй группе команд, отличной от первой группы команд, и определительного блока, который, когда первая команда, принадлежащая к первой группе команд, получена от внешнего устройства, вводит первую команду в первую операционную систему, когда первый ответ выведен из первой операционной системы в качестве ответа на первую команду, передает первый ответ на внешнее устройство, и когда вторая команда, принадлежащая ко второй группе команд, выведена из первой операционной системы в качестве ответа на первую команду, вводит вторую команду во вторую операционную систему и далее вводит второй ответ в качестве ответа на вторую команду, выведенную из второй операционной системы, в первую операционную систему.
Полезные результаты изобретения
Как описано выше, устройство связи, способ связи и программа в соответствии с настоящим изобретением позволяют осуществить вызов команд между ОС без снижения уровня безопасности ОС.
Краткое описание чертежей
Фиг.1 является схемой, изображающей в общих чертах устройство связи в соответствии с первым вариантом осуществления.
Фиг.2 является блок-схемой, показывающей логическую конфигурацию промежуточного уровня в соответствии с первым вариантом осуществления.
Фиг.3А является иллюстративной схемой, показывающей пример формата команды.
Фиг.3В является иллюстративной схемой, показывающей пример формата ответа.
Фиг.4 является блок-схемой, показывающей логическую конфигурацию первой операционной системы в соответствии с первым вариантом осуществления.
Фиг.5А является первой половиной иллюстративной схемы для иллюстрации процесса преобразования команд блоком преобразования команд в соответствии с первым вариантом осуществления.
Фиг.5В является второй половиной иллюстративной схемы для иллюстрации процесса преобразования команд блоком преобразования команд в соответствии с первым вариантом осуществления.
Фиг.6 является блок-схемой, показывающей логическую конфигурацию второй операционной системы в соответствии с первым вариантом осуществления.
Фиг.7 является иллюстративной схемой, показывающей три тракта обработки в устройстве связи.
Фиг.8 является иллюстративной схемой, показывающей связь между различными внешними устройствами и трактами обработки по фиг.7.
Фиг.9 является блок-схемой, показывающей последовательность процесса определения места назначения передачи в соответствии с первым вариантом осуществления.
Фиг.10 является блок-схемой, показывающей последовательность процесса исполнения первой команды в соответствии с первым вариантом осуществления.
Фиг.11 является блок-схемой, показывающей последовательность процесса исполнения второй команды в соответствии с первым вариантом осуществления.
Фиг.12 является блок-схемой, показывающей первый альтернативный пример промежуточного уровня в соответствии с первым вариантом осуществления.
Фиг.13 является блок-схемой, показывающей второй альтернативный пример промежуточного уровня в соответствии с первым вариантом осуществления.
Фиг.14 является схемой, изображающей в общих чертах устройство связи в соответствии со вторым вариантом осуществления.
Фиг.15 является блок-схемой, показывающей логическую конфигурацию первой операционной системы в соответствии со вторым вариантом осуществления.
Фиг.16 является блок-схемой, показывающей логическую конфигурацию промежуточного уровня в соответствии со вторым вариантом осуществления.
Фиг.17 является блок-схемой, показывающей пример состава оборудования устройства связи.
Подробное описание изобретения
Ниже предпочтительные варианты осуществления настоящего изобретения будут подробно описаны со ссылкой на прилагаемые чертежи. Следует отметить, что в данном описании и на чертежах элементы, которые имеют практически одинаковую функцию и структуру, обозначены одинаковыми ссылочными позициями и повторяющиеся пояснения опущены.
Далее описание будет дано в следующем порядке.
Первый вариант осуществления
Базовая конфигурация устройства связи
Пример последовательности процесса связи
Первый альтернативный пример
Второй альтернативный пример
Второй вариант осуществления
Первый вариант осуществления
Базовая конфигурация устройства связи
Сначала описывается базовая конфигурация устройства 100 связи в соответствии с первым вариантом осуществления настоящего изобретения со ссылкой на фиг.1-6.
Фиг.1 является схемой, условно изображающей устройство 100 связи в соответствии с первым вариантом осуществления настоящего изобретения. Внешнее устройство 10 и устройство 100 связи показаны на фиг.1.
Внешнее устройство 10 является устройством связи, которое может осуществлять связь с устройством 100 связи. Например, внешнее устройство 10 может быть считывающим-записывающим устройством, которое считывает и записывает информацию, зарегистрированную на устройстве 100 связи. Далее, внешнее устройство 10 может быть устройством обработки информации, которое предоставляет пользователю произвольное применение посредством использования функций, установленных в устройстве 100 связи.
С другой стороны, устройство 100 связи, как правило, реализовано как контактная или бесконтактная карта ИС или чип ИС. Далее, устройство 100 связи может быть модулем связи, включенным в терминал передачи информации, такой как сотовый телефон. Устройство 100 связи обеспечивает группу команд для выполнения ввода и вывода информации, записанной в этом устройстве, или различных вычислений, как будет описано ниже. Далее, когда команда вводится с внешнего устройства 10, устройство 100 связи выполняет обработку в соответствии с этой командой и выводит ответ на внешнее устройство 10.
На фиг.1 устройство 100 связи включает в себя блок 110 связи, промежуточный уровень 120, сетевой экран (СЭ) (FW) 130, первую операционную систему (далее называемую первой ОС) 140, вторую операционную систему (далее называемую второй ОС) 160.
Блок 110 связи является интерфейсом связи, который посредничает в осуществлении связи устройства 100 связи с внешним устройством 10. Ввод команд от внешнего устройства 10 на устройство 100 связи и вывод ответов с устройства 100 связи на внешнее устройство 10 осуществляется через блок 110 связи. Например, когда устройство 100 связи осуществляет бесконтактную связь с внешним устройством 10, блок 110 связи может быть выполнен как интерфейс связи, удовлетворяющий техническим условиям, таким как NFC (стандарт ближней радиосвязи).
Промежуточный уровень 120 является логической иерархией, предусмотренной между блоком 110 связи и первой ОС 140, второй ОС 160. Промежуточный уровень 120 определяет одну из первой ОС 140 или второй ОС 160 в качестве места назначения передачи команды, введенной с внешнего устройства 10, и передает команду, как будет подробно описано ниже. Далее, промежуточный уровень 120 выводит ответ, возвращенный для переданной команды, на внешнее устройство 10 или далее передает его на одну из первой ОС 140 или второй ОС 160. Далее, в промежуточном уровне 120 предусмотрены средства управления доступом к памяти первой ОС 140 и второй ОС 160 или тому подобное.
Сетевой экран 130 предусмотрен для предотвращения доступа к данным или ввода и вывода команд, осуществляемого непосредственно между первой ОС 140 и второй ОС 160. В этом варианте осуществления сетевой экран 130 логически выполнен на практике с помощью средств управления памятью, включенных в промежуточный уровень 120, что будет описано ниже. Однако сетевой экран 130 может быть выполнен, например, путем физического разделения области памяти между этими ОС.
Первая ОС 140 и вторая ОС 160 выполняют ввод и вывод информации, фиксированной устройством 100 связи, и заранее заданные вычисления в соответствии с командами ввода. В данном описании среди команд, которые выполняются в устройстве 100 связи, набор команд, выполненных первой ОС 140, называется первой группой команд, а набор команд, выполненных второй ОС 160, называется второй группой команд. Например, первая ОС 140 может быть ОС Java Card (зарегистрированный товарных знак), а вторая ОС 160 может быть ОС Felica (зарегистрированный товарных знак) или тому подобным. Определенные конфигурации первой ОС 140 и второй ОС 160 в соответствии с данным вариантом осуществления описаны подробно ниже.
Общее описание устройства 100 связи в соответствии с первым вариантом осуществления настоящего изобретения дано выше со ссылкой на фиг.1. Далее описана подробная конфигурация каждого из промежуточного уровня 120, первой ОС 140 и второй ОС 160.
Фиг.2 является блок-схемой, показывающей подробную конфигурацию промежуточного уровня 120 в соответствии с данным вариантом осуществления. В соответствии с фиг.2 промежуточный уровень 120 включает в себя блок 122 трансляции пакетов, определительный блок 124, блок 126 временного хранения и блок 128 управления памятью.
Когда пакет связи получен блоком 110 связи, блок 122 трансляции пакетов транслирует содержание пакета связи и предписывает определительному блоку 124 определить место назначения передачи команды для первой ОС 140 или второй ОС 160. В это время команда, полученная из пакета связи, хранится в блоке 126 временного хранения.
Определительный блок 124 определяет, какая из команд, принадлежащая к первой группе команд, подлежащей передаче в первую ОС 140 (которая далее будет называться первой командой), и принадлежащая ко второй группе команд, подлежащей передаче во вторую ОС 160 (которая далее будет называться второй командой), является описанной выше командой, полученной, например, от внешнего устройства.
Фиг.3А является иллюстративной схемой, показывающей пример формата команды, полученной устройством 100 связи. В соответствии с фиг.3А команда 50 включает в себя секцию 52 заголовка команды и секцию 54 данных команды. Секция 52 заголовка команды содержит, например, код команды для идентификации типа команды, параметр для выполнения команды или тому подобное. С другой стороны, секция 54 данных команды содержит данные, подлежащие обработке командой, или тому подобное. Кроме того, обработка для выбора приложения может быть выполнена путем установки кода для выбора команды приложения для секции 52 заголовка команды и включения кода приложения для идентификации приложения для выполнения команды в секции 54 данных команды.
Определительный блок 124 обращается, например, к коду команды, содержащемуся в секции 52 заголовка, и когда он определяет, что описанная выше команда, полученная от внешнего устройства 10, является первой командой, определительный блок 124 вводит эту первую команду в первую ОС 140. Далее, когда после этого ответ в качестве ответа на первую команду (который далее будет называться первым ответом) выводится из первой ОС 140, определительный блок 124 выводит первый ответ в блок 122 трансляции пакетов, так что он передается на внешнее устройство 10 через блок 110 связи.
Фиг.3В является иллюстративной схемой, показывающей пример формата ответа, переданного из устройства 100 связи. На фиг.3В ответ 60 включает в себя секцию 62 данных ответа и секцию 64 состояния. Секция 62 данных ответа содержит данные, например, полученные или созданные в качестве результата выполнения команды, или тому подобное. С другой стороны, секция 64 состояния содержит информацию о состоянии, показывающую, заканчивается ли выполнение команды нормально или ненормально, или тому подобное.
В данном варианте осуществления имеется случай, когда, после того как определительный блок 124 вводит первую команду в первую ОС 140, вторая команда, подлежащая передаче во вторую ОС 160, вместо первого ответа выводится из первой ОС 140. В таком случае определительный блок 124 определяет, что вторая команда выведена путем обращения к коду команды, содержащемуся в секции 52 заголовка команды, показанной на фиг.3А, например, и вводит вторую команду во вторую ОС 160. После этого, когда ответ в качестве ответа на вторую команду (который далее будет называться вторым ответом) выводится из второй ОС 160, определительный блок 124 вводит этот второй ответ в первую ОС 140, которая вывела вторую команду, вместо того чтобы передавать его на внешнее устройство 10. Далее, когда первый ответ наконец выводится из первой ОС 140, определительный блок 124 выводит первый ответ в блок 122 трансляции пакетов, так что он передается во внешнее устройство 10 через блок 110 связи.
Кроме того, когда определительный блок 124 определяет, что команда, полученная от внешнего устройства 10, является второй командой, он вводит вторую команду во вторую ОС 160. Далее, когда второй ответ в качестве ответа на вторую команду выводится из второй ОС 160, определительный блок 124 выводит этот второй ответ в блок 122 трансляции пакетов, так что он передается на внешнее устройство 10 через блок 110 связи. Определение того, введен ли второй ответ в качестве ответа на вторую команду в первую ОС 140 или передан на внешнее устройство 10, может быть осуществлено, например, путем временного хранения значения флажка или тому подобного для определения места назначения передачи в блоке 126 временного хранения.
Следует отметить, что когда ответ в качестве ответа на вторую команду не выводится из второй ОС 160, даже если, например, истек заранее заданный интервал времени после ввода второй команды во вторую ОС 160, определительный блок 124 может ввести вторую команду во вторую ОС 160 снова. Альтернативно, когда ответ в качестве ответа на вторую команду не выводится, даже если истек заранее заданный интервал времени, определительный блок 124 может, например, уведомить первую ОС 140 о наступлении ошибки путем ввода ответа, содержащего информацию о состоянии, показывающую время ожидания для первой ОС 140.
Описание промежуточного уровня 120 в соответствии с данным вариантом осуществления продолжается со ссылкой на фиг.2.
Блок 126 временного хранения временно хранит команды и ответы, которыми обменялись блок 122 трансляции пакетов и определительный блок 124, определительный блок 124 и первая ОС 140 или вторая ОС 160, данные управления или тому подобное. Блок 126 временного хранения может быть реализован, например, посредством использования ОЗУ (оперативного запоминающего устройства).
Блок 128 управления памятью управляет работой каждой из первой ОС 140 и второй ОС 160, чтобы избежать случаев одновременного обращения к памяти первой ОС 140 и второй ОС 160 и случаев отказа в устройстве 100 связи. Блок 128 управления памятью может быть реализован, например, посредством использования БУП (блока управления памятью). Альтернативно, первая ОС 140 и вторая ОС 160 могут быть установлены на физически различных чипах ИС, и источник питания для каждого чипа ИС может управляться блоком 128 управления памятью.
Подробная конфигурация промежуточного уровня 120 в соответствии с данным вариантом осуществления описана выше со ссылкой на фиг.2 и 3. Следует отметить, что промежуточный уровень 120 может быть выполнен как ядро устройства 100 связи. В частности, общая группа функций управления промежуточного уровня 120 для первой ОС 140 и второй ОС 160, который описан выше, может быть выполнена как ядро устройства 100 связи.
Фиг.4 является блок-схемой, показывающей подробную конфигурацию первой ОС 140 в соответствии с данным вариантом осуществления. На фиг.4 первая ОС 140 включает в себя первую среду 142 выполнения и приложения 150А и 150В.
Первая среда 142 выполнения является программной группой, которая предоставляет платформу для первой ОС 140 для выполнения первой группы команд. Первая среда 142 выполнения в основном включает в себя первый блок 144 трансляции команд, первый блок 146 выполнения команд и первый блок 148 памяти.
Первая команда, которая вводится в первую ОС 140 определительным блоком 124 промежуточного уровня 120, сначала преобразуется в формат, осуществляемый ЦВБ (центральным вычислительным блоком) или тому подобным устройства 100 связи, первым блоком 144 трансляции команд и выводится на первый блок 148 памяти. Далее первая команда выполняется первым блоком 146 выполнения команд.
Приложения 150 (150А и 150В) являются произвольными приложениями, которые работают в первой ОС 140 путем исполнения первой команды. Термин «приложение» включает в себя апплет, программное обеспечение, содержащее только более простую логику или тому подобное. Какое из приложений 150А и 150В исполняется, определяется на основании кода приложения или тому подобного, содержащегося в секции 54 данных команды первой команды, например, путем установки кода для выбора команды приложения для секции 52 заголовка команды первой команды.
В данном варианте осуществления, когда исполняется приложение 150А для первой команды, осуществляется ввод и вывод информации, соответствующей приложению 150А, заранее заданные вычисления или тому подобное, и первый ответ выводится на блок 126 временного хранения промежуточного уровня 120.
С другой стороны, когда исполняется приложение 150В для первой команды, первая команда преобразуется во вторую команду блоком 152 преобразования команд, включенным в приложение 150В, и вторая команда выводится на блок 126 временного хранения промежуточного уровня 120.
Преобразование команды блоком 152 преобразования команд может быть осуществлено, например, методом, показанным на фиг.5А или 5В. Фиг.5А и 5В являются иллюстративными схемами для иллюстрации примеров преобразования команд, осуществляемого блоком 152 преобразования команд.
На фиг.5А секция 52а заголовка команды первой команды 50а содержит код команды, указывающий, что эта команда является первой командой. Кроме того, секция 54а данных команды содержит последовательность информации, составляющую секцию заголовка команды второй команды после преобразования. Далее блок 152 преобразования команд извлекает секцию 54а данных команд введенной первой команды 50а и выводит ее, чтобы преобразовать первую команду 50а во вторую команду.
С другой стороны, на фиг.5В секция 52b заголовка команды первой команды 50а содержит код команды, указывающий, что эта команда является первой командой, как на фиг.5А. Кроме того, таблица TBL1 преобразования команд содержится заранее в области памяти, имеющейся в блоке 152 преобразования команд. Далее блок 152 преобразования команд запрашивает код команды второй команды, связанный с кодом команды, содержащимся в секции 52b заголовка команды введенной первой команды 50b, из таблицы TBL1 преобразования команд и выводит ее, чтобы преобразовать первую команду 50b во вторую команду. Например, в примере на фиг.5В первая команда X1 может быть преобразована во вторую команду Y1, а первая команда Х2 может быть преобразована во вторую команду Y2.
Как ясно из иллюстраций на фиг.4 и 5, когда первая команда выполняется первой ОС 140, первый ответ или вторая команда выводится из первой ОС 140 в промежуточный уровень 120. Далее, как было описано ниже, первый ответ передается на внешнее устройство 10, а вторая команда вводится во вторую ОС 160.
Фиг.6 является блок-схемой, показывающей подробную конфигурацию второй ОС 160 в соответствии с данным вариантом осуществления. На фиг.6 вторая ОС 160 включает в себя вторую среду 162 выполнения и приложения 172 и 174.
Вторая среда 162 выполнения является программной группой, которая предоставляет платформу для второй ОС 160 для выполнения второй группы команд. Вторая среда 162 выполнения по существу включает в себя второй блок 164 трансляции команд, второй блок 166 выполнения команд и второй блок 168 памяти.
Вторая команда, которая вводится во вторую ОС 160 определительным блоком 124 промежуточного уровня 120, сначала преобразуется в формат, осуществляемый ЦВБ или тому подобным в устройстве 100 связи, вторым блоком 164 трансляции команд и выводится на второй блок 168 памяти. Далее вторая команда исполняется вторым блоком 166 выполнения команд.
Приложения 172 и 174 являются произвольными приложениями, которые работают во второй ОС 160 путем выполнения второй команды. В этом примере, когда приложение 172 или 174 выполняется для второй команды, осуществляется ввод и вывод информации, соответствующей каждому приложению, заранее заданные вычисления или тому подобное, и второй ответ выводится в блок 126 временного хранения промежуточного уровня 120. Какое из приложений 172 и 174 выполняется, определяется, например, на основании кода приложения или тому подобного, содержащегося в секции 52 заголовка команды.
Второй ответ, выведенный в качестве результата выполнения второй команды второй ОС 160, передается от промежуточного уровня 120 во внешнее устройство 10 через блок 110 связи, когда вторая команда получена от внешнего устройства 10, как было описано выше. С другой стороны, когда вторая команда выведена из первой ОС 140, второй ответ вводится в первую ОС 140 промежуточным уровнем 120.
Второй ответ, который выведен из второй ОС 160 и введен в первую ОС 140, обрабатывается приложением 150В, которое вывело вторую команду, например, и выводится в промежуточный уровень 120 в качестве первого ответа, который содержит результат исполнения второй команды. Далее первый ответ передается из промежуточного уровня 120 во внешнее устройство 10 через блок 110 связи.
Следует отметить, что первый блок 148 памяти и второй блок 168 памяти могут быть разделены виртуально функцией блока 128 управления памятью, описанной выше. В частности, первый блок 148 памяти и второй блок 168 памяти могут быть выполнены физически одним записывающим устройством.
Пример последовательности процесса связи
Базовая конфигурация устройства 100 связи в соответствии с данным вариантом осуществления описана выше со ссылкой на фиг.1-6. Обобщая вышеприведенное описание, тракты обработки устройством 100 связи являются в основном тремя видами трактов, показанных на фиг.7.
На фиг.7 первый тракт обработки является трактом, по которому первая команда, полученная от внешнего устройства 10, исполняется первой ОС 140, и первый ответ, выведенный из первой ОС 140 в качестве результата, передается на внешнее устройство 10 (Pla, b).
Второй тракт обработки является трактом, по которому первая команда, полученная от внешнего устройства 10, преобразуется во вторую команду первой ОС 140, и первый ответ, содержащий результат исполнения второй команды второй ОС 160, выводится из первой ОС 140 и передается на внешнее устройство 10 (P2a-d).
Третий тракт обработки является трактом, по которому вторая команда, полученная от внешнего устройства 10, исполняется второй ОС 160, и второй ответ, выведенный их второй ОС 160 в качестве результата, передается на внешнее устройство 10(Р3а, b).
Предполагается случай, когда протокол связи между внешним устройством 10 и устройством связи 100 поддерживает только первую команду. Внешнее устройство 10 в таком случае показано как внешнее устройство 10а на фиг.8.
Внешнее устройство 10а на фиг.8 может подать первую команду и использовать произвольное приложение, работающее в первой ОС 140 посредством первого тракта Р1 обработки устройства 100 связи. Кроме того, внешнее устройство 10а может подать первую команду и использовать произвольное приложение, работающее во второй ОС 160 посредством второго тракта Р2 обработки устройства 100 связи. В этом случае внешнему устройству 10а кажется, что только первая команда исполнена устройством 100 связи. Это означает, что нет необходимости вносить усовершенствование во внешнее устройство 10а, чтобы предоставить сервисные функции произвольного приложения первой ОС 140 и второй ОС 160 пользователю.
Кроме того, внешнее устройство 10b, протокол связи которого с устройством 100 связи поддерживает вторую команду, также показано на фиг.8. Внешнее устройство 10b может подать вторую команду и использовать произвольное приложение, работающее во второй ОС 160, посредством третьего тракта Р3 обработки устройства 100 связи. В этом случае, если вторая ОС 160 устройства 100 связи имеет специальный интерфейс для получения доступа от первой ОС 140, существует вероятность того, что интерфейс неправильно эксплуатируется пользователем, который устанавливает связь через внешнее устройство 10b. Однако в данном варианте осуществления, поскольку вторая ОС 160 принимает обычно только вторую команду, уровень безопасности второй ОС 160 не снижается.
Фиг.9-11 являются блок-схемами алгоритмов, показывающими пример связи, осуществляемой устройством 100 связи в соответствии с данным вариантом осуществления. Фиг.9 в основном показывает последовательность процесса определения места назначения передачи в определительном блоке 124 промежуточного уровня 120.
На фиг.9 процесс определения места назначения передачи начинается с запуска приемом пакета связи от внешнего устройства 10 через блок 110 связи (S1202). Полученный пакет связи записан в блок 126 временного хранения.
Затем блок 122 трансляции пакетов транслирует содержание пакета связи и, когда первая команда или вторая команда содержится в пакете связи, предписывает определительному блоку 124 определить место назначения передачи команды (S1204).
Далее определительный блок 124 определяет место назначения передачи команды путем обращения к секции 52 заголовка команды полученной команды, например, и идентификации команды в качестве первой команды или второй команды (S1206). В результате, когда полученная команда является первой командой, определительный блок 124 вводит первую команду в первую ОС 140. Далее, когда полученная команда является второй командой, определительный блок 124 вводит вторую команду во вторую ОС 160.
После ввода первой команды первая ОС 140 исполняет первую команду (S1208). Процесс исполнения первой команды первой ОС 140 описан подробно со ссылкой на фиг.10.
Фиг.10 является блок-схемой, частично показывающей последовательность процесса исполнения первой команды первой ОС 140. На фиг.10 после S1206 по фиг.9 сначала разрешается доступ к памяти первой ОС 140 блоком 128 управления памятью промежуточного уровня 120 (S1402).
Далее первый блок 144 трансляции команд, который получил первую команду в первой ОС 140, транслирует первую команду и преобразует ее в исполняемый формат (S1404). Далее первый блок 146 выполнения команд исполняет первую команду, преобразованную в исполняемый формат (S1406).
На этом этапе процесс разветвляется в зависимости от того, осуществляет ли приложение, которое работает путем исполнения первой команды, преобразование команды (S1408). Например, приложение 150А, показанное на фиг.4, создает первый ответ в качестве ответа на первую команду без осуществления преобразования команды (S1410). В данном случае созданный первый ответ записан в блок 126 временного хранения промежуточного уровня 120. После этого процесс переходит к S1210 по фиг.9.
С другой стороны, приложение 150В, показанное на фиг.4, например, включает в себя блок 152 преобразования команд. Поэтому, когда приложение 150В работает, первая команда преобразуется во вторую команду блоком 152 преобразования команд (S1412). Вторая команда, созданная на этом этапе, записана в блок 126 временного хранения промежуточного уровня 120. После этого пр