DESCRIÇÃO
DA
PATENTE DE INVENÇÃO
N.°
REQUERENTE: LANDIS & GYR BETRIEBS AG, suiça, industrial e comercial, com sede em CH-6301 ZUG, Suiça.
EPÍGRAFE: PROCESSO DE ALTERAÇÃO DE UM PROGRAMA DE COMPUTADOR QUE SE ENCONTRA MEMORIZADO NO DISPOSITIVO COMPUTARIZADO DE UM EQUIPAMENTO, A FIM DE OBTER UM PROGRAMA ALTERADO, E DISPOSITIVO PARA A REALIZAÇÃO DO PROCESSO
INVENTORES: Senhor JOSEPH RUEFF, suiço, Engenheiro ETS, residente em Chemin Chambert, 2, CH-1232 LULLY, Suiça.
Reivindicação do direito de prioridade ao abrigo do artigo 4.° da Convenção de Paris de 20 de Março de 1883.
Declara haver apresentado o correspondente primeiro pedido da mesma Patente na Suiça sob o Ns. 02 794/90-3 em 28 de Agosto de 1990, cuja prioridade reivindica.
INPI. MOD. 113 RF 16732
Η
14456 ιΜ 0199 1991/07/17 9:46:24 ΡΑΤ
W» SB fflMQ t;
93343 B
BB is&ra & <ssca ssmss &s υ
®mocss@G sb aamagm sb m saoem m miRiwm sb a»· m mmm mmm m m wrassrooe & ra sb wm m mm ano^ g & aaao-·» saem so imocBsso5’
a b a e m ô presente invento dis respeito a w proeesse d© alteraçM© âe w prograraa de eoraputador (¾), armsenade m® dispositivo cospu··-tariaad© <8} de tsa equipamento <Xh obtendors© ma program âe cospntacte aXteraâ© (Xgb e© qa© os deis j^ograms (Κχ„< BgJ são feamlades ©m linguagem cte raáqnina © sesve» a© fsaeioaamento do dispositivo «oMpatarisado <&)«
Bm alturas diferente© e predusida numa unidade ©entrai a correspondente versão d© fonte doe dois programa s# através âe u© dispositivo oot^putarisado d& unidade «entrai», ê alterado o ros-' ivo programa de oospntaâot do eqaipamoafeo» $©d©s os bytes ββ alwaâaD· «â© wiaeenato ®wte£a lem.·|X?>„ ©e wwúé© <e g^ogsísaa aWseaâe oê© âs wiâaúe sca&sal go e '©epâfamaè© agm teto ©a feftw atoraaSôs.· tsfewMggla <w < «8$X©fc@aS& pe©) -istemsô®© gçtaite e,eo esitaagôs ®&· Êg^es sta&@ e» a^w©·· mto m sasafeia <X»; ©s seus se^ives mfecess eâmtawme àsmasltMss, a Êâia ls taa? oj... m eosKtenW ©m aa fcgteg âliMsg le pmgram e ^í - ’ íiea sa BêSfeia feiww^swagw (XH? e mm <e â«wtsfe aXteãfi©» ô MspwáMve eí^adtós. <®í e©Môa, al^ «ââssa. aiala 12a ®3te <$>„ w toastemte s&W§a^aI@M Uth aa ^©eeosate ©oafcs&X <Uh saâs tes satnôrías MíBS/fgav^ãô U2» 13 >, tsn WM®Wte <X&b . s® «afeia siâe ôg^f&a (JIJ. atóo eamo axwams ímaw <X$r Xlh X$>* á&wrfe to&a feôesisaiô Man>§6 á® ^mssMtóa iaslsía
Êiwlmfe® tewate ® ^wsew g© ô ©«©eoiôâa setef as liwísâs 'Taieiaasea iô ms&@ m asfâe © a aetealiâsle da âsesm&aça©
esmole m fwggom»
m* a |
Fig. 2 i |
c§=d
czít=í
c£=» |
«Ρ-ζΡ- |
GK> |
!& |
—15 |
>B |
A presente invenção refere-se a um processo de alteração de um programa de computador que se encontra memorizado no dispositivo computarizado de um equipamento, a fim de obter um programa alterado segundo a descrição da reivindicação 1, e a um dispositivo para a realização do processo.
Processos e dispositivos deste tipo já se encontram aplicados na administração central do serviço de alterações referentes a programas de computador utilizados em equipamentos técnicos, programas esses que, regra geral, é preciso alterar várias vezes ao longo do tempo a fim de adaptá-los a novas exigências do equipamento.
Os equipamentos são, por exemplo, postos de uma rede pública de telefones com cobrança, onde é necessário alterar repetidas vezes as tarifas em vigor utilizadas ou oferecer novos serviços.
Enquanto as alterações, em regra, não oferecem grandes dificuldades ao fabricante do equipamento quando se instalam os novos equipamentos, elas representam normalmente um problema considerável para o equipamento que já se encontra em serviço. Isto porque, tendo em conta o facto de existirem em número elevado e bastante afastados uns dos outros, não se deve proceder à nova programação no local, como seria ideal, mas sim a partir de uma unidade central, por exemplo,
através de uma rede telefónica. Uma transmissão completa do novo programa em vigor, em linguagem de máquina, da unidade central para o equipamento necessita, no entanto, um tempo de transmissão inadmissível pela sua morosidade, o que tem de ser evitado a todo o custo, porque durante este tempo a utilização normal do equipamento, por exemplo a realização de chamadas telefónicas, não seria possível.
A invenção tem como objectivo desenvolver um processo e um dispositivo do tipo acima mencionado, através dos quais se possa proceder, a partir de uma unidade central, a uma alteração central, em linguagem de alto nível, dos programas que se encontram na memória dos equipamentos, sem que se verifiquem períodos inadmissíveis de transmissão entre a unidade central e os equipamentos, e sem que se perca a visão geral no que se refere às diferentes variantes dos programas em funcionamento ou a actualidade da documentação existente nos programas.
Este objectivo é alcançado, segundo a invenção, através das características assinaladas na reivindicação 1.
Realizações vantajosas do invento são dedutiveis das subreivindicações.
Um exemplo de realização do invento é representado nos dese4 nhos e é descrito em seguida mais em pormenor.
Eles mostram:
- FIG. 1 - um esquema de blocos de um sistema de transmissão e
- FIG. 2 - um esquema de blocos de um dispositivo computarizado.
sistema de transmissão representado na FIG. 1 contém vários , por exemplo cinco, equipamentos (1, 2, 3, 4 e 5) assim como uma unidade central (6) comum, todos distribuídos mais ou menos afastados uns dos outros.
A unidade central (6) é ligada aos equipamentos (1 a 5) através de uma rede de transmissão (7), de preferência uma rede telefónica. Os sinais de transmissão entre a unidade central (6) e os equipamentos (1 a 5) são transmitidos nas duas direcções. No caso de os sinais de transmissão terem que ultrapassar grandes distâncias, eles devem ser, de preferência, modulados e transmitidos depois como sinais modulados em amplitude, em frequência ou em fase. Admitimos, em seguida, que os sinais de transmissão são sinais modulados. Se se tratar nos equipamentos (1 a 5) de postos telefónicos modernos com cobrança, a unidade central (6) é uma central telefónica comum e a rede de transmissão (7) a rede telefó-
nica.
Os equipamentos (1 a 5) contêm, cada um, um dispositivo computarizado (8) que, de preferência, apresenta um microprocessador e cujo princípio de construção se encontra representado num esquema simplificado na FIG. 2, admitindo-se que os sinais de transmissão são sinais modulados. Também a unidade central (6) contém um dispositivo computarizado semelhante. Cada dispositivo computarizado (8) apresenta um modem (9) (modulador/desmodulador) e contém, além disso, um transformador série/paralelo (10), um processador central (11) (CPU: Central Processor Unit), uma primeira memória leitura/gravação (12), uma segunda memória leitura/gravação (13) e um comutador (14), ligados entre si através de buses (15). Finalmente, o dispositivo computarizado (8) ainda contém uma memória não apagável (16) e uma terceira memória leitura/gravação (17), ligadas cada uma através de um bus (18) e (19), respectivamente, a um primeiro e a um segundo terminal, respectivamente, do comutador (14). Cada uma das memórias leitura/gravação (12, 13 e 17) é, por exemplo, uma RAM (Random Access Memory) ou uma EEPROM (Electrically Erasable Programmable Read Only Memory), e a memória não apagável (16) é, por exemplo, uma EPROM (Electrically Programmable Read Only Memory). As três memórias leitura/gravação (12, 13 e 17) são representadas na FIG. 2 como memórias separadas, no entanto, todas as três também podem representar partes diferentes de uma memória leitura/gravação única e comum. Todos os buses (15), assim como o bus (19) são utilizados nas duas dírecções de transmissão, enquanto o bus (18) funciona apenas na direcção que se afasta da memória não apagável (16). Uma entrada/saída em série do transformador série/paralelo (10) é ligada a um primeiro terminal do modem (9), enquanto uma entrada/saída paralela do transformador série/paralelo (10) é ligada aos buses (15). Um segundo terminal do modem (9) constitui uma entrada/saída do dispositivo computarizado (8) e é - não representado ligado à rede de transmissão (7).
Todos os programas de computador servem ao funcionamento dos dispositivos computarizados (8) dos diversos equipamentos (1 a 5) e podem, a uma determinada altura e apesar de os equipamentos (1 a 5) serem idênticos, ser diferentes para cada um deles. Além disso, estes programas de computador podem ser alterados ao longo do tempo de várias maneiras. O serviço de alteração do programa de computador de cada um dos equipamentos (1 a 5) é gerido, de preferência, centralmente pela unidade central (6), principalmente quando existem muitos equipamentos e/ou os equipamentos estejam localmente bastante afastados uns dos outros, como, por exemplo, numa rede de postos telefónicos com cobrança. O dispositivo computarizado (8) de cada um dos equipamentos (1 a 5) é activado, em seguida, sempre pelo programa de computador, em linguagem de máquina, que em dada altura se encontra na memória leitura/gravação (17) do dispositivo computarizado (8) do respectivo equipamento.
No início, ou seja, aquando da instalação da unidade central (6) e de um determinado número de equipamentos (1 a 5), um primeiro programa de computador de origem Xq, em linguagem de máquina, também chamado programa base, é armazenado de modo que não possa ser apagado ou alterado na memória não apagável (16) do dispositivo computarizado (8) dos respectivos equipamentos. 0 programa base Xq é considerado pelos respectivos equipamentos como uma espécie de um primeiro programa padrão. Em seguida, ou seja, da primeira vez que os equipamentos forem colocados em serviço, o primeiro programa de origem Xq é conduzido a partir da memória não apagável (16) através do comutador (14) à memória leitura/gravação (12) que funciona como memória intermediária e onde o programa fica armazenado. Este processo efectua-se automaticamente em cada um dos equipamentos sob orientação do processador central (11) do dispositivo computarizado (8) do respectivo equipamento. Em seguida, ele é conduzido a partir da memória leitura/gravação (12) através do comutador (14), agora comutado, à memória leitura/gravação (17) do dispositivo computarizado (8) do respectivo equipamento a fim de ser ali armazenado. 0 primeiro programa de origem Xq fica armazenado na memória leitura/gravação (17) e o correspondente dispositivo computarizado (8) é accionado através deste programa, até que através de uma primeira alteração do programa, o primeiro programa de origem Xo do respectivo equipamento seja alterado para um programa Χχ.
Desta forma, após a primeira colocação em serviço de cada um dos equipamentos já instalados, o primeiro programa de origem Xq em linguagem de máquina é armazenado, por um lado, inalteravelmente na memória não apagável (16) e, por outro, alteravelmente na memória leitura/gravação (17) do dispositivo computarizado (8) dos respectivos equipamentos.
conteúdo da memória leitura/gravação (13) do respectivo equipamento tem a função de comutar, na altura certa, o comutador (14) e, ao mesmo tempo, indicar ao dispositivo computarizado (8) qual é neste momento a posição do comutador (14), de modo que o dispositivo computarizado (8) fica a saber com qual das duas memórias (16) ou (17) ela deve colaborar neste momento. Quando o comutador (14) está numa das suas posições, a memória não apagável (16) é ligada através do bus (18), do comutador (14) e dos buses (15) às memórias leitura/gravação (12) e (13), ao passo que, estando o comutador (14) na outra posição, é a memória leitura/gravação (17) que é ligada através do bus (19), do comutador (14) e dos buses (15) às memórias leitura/gravação (12) e (13). Após a primeira colocação em serviço, o comutador (14) do respectivo equipamento toma sempre a posição que foi referida em último lugar e geralmente mantém esta posição para o funcionamento ulterior do respectivo equipamento, de modo que, como já mencionado, o seu dispositivo computarizado (8) é accionado sempre através do programa armazenado na memória leitura/gravação (17). Só quando ao longo do tempo por qualquer razão, por exemplo uma falha na tensão de alimentação, o conteúdo da memória leitura/gravação (17) se perder, será preciso voltar a ligar o comutador (14) para a memória não apagável (16) e simular uma espécie de nova colocação em serviço, a fim de passar o conteúdo da memória não apagável (16) para a memória leitura/gravação (17) entretanto esvaziada. 0 respectivo dispositivo computarizado (8) é accionado, em seguida, temporariamente de novo pelo programa de origem Χθ até ao momento em que o serviço central de alterações possa actualizar outra vez o programa de computador armazenado na memória leitura/gravação (17).
Ao longo do tempo podem ser instalados outros novos equipamentos que possuam um programa base igual ou diferente, no entanto, quando se trata da segunda hipótese, ele deve ser sempre derivado do programa base Χθ inicialmente instalado, tendo sofrido pelo menos uma alteração, e representar uma espécie de programa descendente, enquanto ele mesmo representa no respectivo equipamento um programa padrão em relação ao primeiro programa que, em seguida, venha a ser produzido através de alteração.
Além disso, os programas base de todos os equipamentos (1 a 5) podem, ao longo do tempo e em vários momentos, sofrer alterações diversas a partir da unidade central (6), de modo que numa determinada altura estejam armazenados na memória leitura/gravação (17) do dispositivo computarizado (8) dos equipamentos (1 a 5) programas de computador iguais ou diferentes com a possibilidade de todos serem programas alterados, derivados do primeiro programa de origem Xq através de alteração. Cada um destes programas pode representar no respectivo equipamento um programa padrão em relação a um primeiro programa descendente, derivado da alteração introduzida no programa padrão.
Na memória leitura/gravação (17) do equipamento (1) é, por exemplo, armazenado numa determinada altura, em linguagem de máquina, um programa Χχ do equipamento (1) como seu programa padrão, possuindo, também em linguagem de máquina, um programa alterado X2 como programa descendente. Aquando da próxima alteração do programa de computador por iniciativa da unidade central (6), em vez do programa Χχ é armazenado na memória leitura/gravação (17) do equipamento (1) o programa X2. Ambos os programas Χχ e X2 têm como função sempre o accionamento do dispositivo computarizado (8) do equipamento (1). 0 programa alterado X2z em linguagem de máquina, representa sempre o resultado de uma alteração do programa, efectuado na unidade central (6) numa linguagem de alto nível, e de uma transmissão de informações, realizada em seguida, que se refere às alterações efectuadas entre a unidade central (6) e o equipamento (1).
Cada um dos dois programas Χχ e X2 em linguagem de máquina corresponde no dispositivo computarizado (8) da unidade central (6) a uma versão respectiva de fonte Q]_ e Q2, respectivamente, produzida na unidade central (6). As duas versões de fonte e Q2 são formuladas numa mesma linguagem de alto nível e produzidas em diferentes alturas através do dispositivo computarizado da unidade central (6) e traduzidas nos respectivos programas Χχ e X2r respectivamente, em linguagem de máquina, os quais depois serão armazenados numa memória leitura/gravação do dispositivo computarizado da unidade central (6).
A unidade central (6) transmite ao equipamento (1), ou periodicamente ou, de preferência, por ser solicitado pelo equipamento (1), o programa de computador mais actualizado que se encontra em vigor para o equipamento (1). Assim, a unidade central (6) espera, por exemplo, uma chamada do equipamento (1), o qual verifica então os dados característicos , como, por exemplo, o nome e a última data de alteração do programa Χχ armazenado na sua memória, contacta a unidade central
(6) e transmite-lhe os dados característicos apurados. Através destes dados característicos obtidos, a unidade central (6) está em condições de verificar se a versão vigente mais actualizada do programa de computador já se encontra ou não no equipamento (1). Se isto não for o caso, a unidade central (6) transmite ao equipamento (1) informações, a partir das quais o equipamento (1) então pode reconstruir o seu programa actualizado X2 em linguagem de máquina.
Os programas modernos para postos telefónicos com cobrança contêm 40 até 60 kilobytes, cuja transmissão completa através de uma rede telefónica com uma velocidade de, por exemplo 1200 Bd (baud) por segundo, necessitaria um tempo de transmissão inadmissivelmente longo, durante o qual o respeetivo posto telefónico com cobrança seria impedido de efectuar chamadas. A fim de poupar tempo de transmissão, é transmitida entre a unidade central (6) e o equipamento (1), cujo programa está em alteração, apenas a diferença entre os programas X2 e Χχ, formulados em linguagem de máquina, assim como os endereços dos bytes alterados do programa X2· Desta forma, do conteúdo do programa alterado X2 são transmitidos da unidade central (6) para o equipamento (1) apenas todos os bytes alterados, transmissão que é completada por informações referentes aos endereços destes bytes alterados. Assim, sendo a diferença mencionada consideravelmente mais pequena do que o programa X2 completo, a quantidade
de informação a ser transmitida ficou bastante reduzida. 0 modo como esta diferença e estes endereços são produzidos e preparados na unidade central (6) e como são transmitidos, em seguida, ao equipamento (1), é descrito pormenorizadamente num pedido de patente, apresentado na Suiça paralelamente com esta patente. Os bytes são transmitidos em série como bits, por exemplo como sinais de impulso modulados, desmodulados primeiro após a sua recepção no equipamento (1) através do modem (9) e transformados, em seguida, através do transformador série/paralelo (10) outra vez em bits paralelos, os quais são conduzidos depois através dos buses (15), de preferência, à memória leitura/gravação (12) do dispositivo computarizado (8) do equipamento (1) que serve como memória temporária, onde desta forma são armazenados temporariamente os bytes alterados do programa X2 e os seus endereços igualmente transmitidos.
No equipamento (1), onde até este momento estiveram armazenados na memória leitura/gravação (17) do dispositivo computarizado (8) do equipamento (1) todos os bytes do programa Xj_ ainda não alterado, procede-se, em seguida, à reconstrução do novo programa alterado X2 em vigor, formulado em linguagem de máquina, que se constitui a partir da diferença e dos endereços recebidos dos bytes alterados, de forma que todos os bytes alterados são armazenados sucessivamente na memória leitura/gravação (17) do dispositivo computarizado (8) do
equipamento (1) sob os respectivos endereços também transmitidos, a fim de formular ali, em linguagem de máquina e em conjunto com os bytes do programa Χχ já existentes na memória leitura/gravação (17) que ficaram inalterados e que continuam armazenados sob os seus respectivos endereços habituais, o programa alterado X2·
programa alterado X2 é finalmente armazenado na memória leitura/gravação (17) e é constituído, por um lado, pelos bytes não alterados e não transmitidos do programa Xj, formulado em linguagem de máquina e anteriormente armazenado na memória leitura/gravação (17) e, por outro, pelos bytes alterados do programa X2, formulado em linguagem de máquina, produzidos na unidade central (6) e transmitidos ao equipamento (1), em que os bytes alterados são armazenados na memória leitura/gravação (17) do equipamento (1) sempre sob os respectivos endereços, igualmente transmitidos.