4,529 research outputs found

    Growth, Competition and Political Stability in China

    Get PDF
    A highly successful investment- and export-led growth strategy has positioned China as the second largest economy and as the largest exporter in the world. Households' consumption has played a minor role in its growth strategy, which is reflected in its unique and very high saving rates. In this paper we argue that the low weight of consumption in total expenditure is the result of the pervasiveness of the state in the economy, which aimed at impairing the growth of middle classes and,therefore, at preserving political stability. Nonetheless, an increase in purchasing power and the cultural individualisation of vast portions of the population is leading to an increase in popular mobilisation and social unrest. This indicates that, contrary to common pessimist analyses, prospects for democratization are perhaps stronger than usually presumed.China, growth, savings, financial markets, political stability

    When development meets culture : the contribution of Celso Furtado in the 1970s

    Get PDF
    The article assesses the work of Celso Furtado (1920-2004) in the 1970s, when the author promotes an ambitious attempt to redefine the field of development economics. Furtado's works have recently been revisited by several authors, including in the field of history of economic thought. The text is devoted to explore how the author challenges development theory’s perceived failure to explain the reality of underdeveloped nations in the late 1970s by expanding the scope of analysis and giving culture a pivotal role in the dynamics of development and underdevelopment. This theoretical movement happens at the time in which development economics begins to drift out of the mainstream of economic theory. Hence, unlike the concept of underdevelopment introduced in the 1950s, the discussion of creativity and dependence encounters an adverse intellectual landscape, even though it represents one of the author’s most original contributions.Celso Furtado, development, underdevelopment, creativity, culture.

    Pipelined analog-to-digital conversion using current-mode reference shifting

    Get PDF
    Dissertação para obtenção do grau de Mestre em Engenharia Electrotécnica e de ComputadoresPipeline Analog-to-digital converters (ADCs) are the most popular architecture for high-speed medium-to-high resolution applications. A fundamental, but often unreferenced building block of pipeline ADCs are the reference voltage circuits. They are required to maintain a stable reference with low output impedance to drive large internal switched capacitor loads quickly. Achieving this usually leads to a scheme that consumes a large portion of the overall power and area. A review of the literature shows that the required stable reference can be achieved with either on-chip buffering or with large off-chip decoupling capacitors. On-chip buffering is ideal for system integration but requires a high speed buffer with high power dissipation. The use of a reference with off-chip decoupling results in significant power savings but increases the pads of chip, the count of external components and the overall system cost. Moreover the amount of ringing on the internal reference voltage caused by the series inductance of the package makes this solution not viable for high speed ADCs. To address this challenge, a pipeline ADC employing a multiplying digital-to-analog converter (MDAC) with current-mode reference shifting is presented. Consequently, no reference voltages and, therefore, no voltage buffers are necessary. The bias currents are generated on-chip by a reference current generator that dissipates low power. The proposed ADC is designed in a 65 nm CMOS technology and operates at sampling rates ranging from 10 to 80 MS/s. At 40 MS/s the ADC dissipates 10.8 mW from a 1.2 V power supply and achieves an SNDR of 57.2 dB and a THD of -68 dB, corresponding to an ENOB of 9.2 bit. The corresponding figure of merit is 460 fJ/step

    Smart-contract Blockchain with Secure Hardware

    Get PDF
    In recent years, blockchains have grown in popularity and the main reason for this growth is the set of properties that they provide, such as user privacy and a public record of transactions. This popularity is verifiable by the number of cryptocurrencies currently available and by the current market value of Bitcoin currency. Since its introduction, blockchain has evolved and another concept closely linked with it is smart-contract, which allows for more complex operations over the blockchain than simple transactions. Nevertheless, blockchain technologies have significant problems that prevent it to be adopted as a mainstream solution, or at least as an alternative to centralized solutions such as banking systems. The main one is its inefficiency, which is due to the need of a consensus algorithm that provides total order of transactions. Traditional systems easily solve this by having a single central entity that orders transactions, which can’t be done in decentralized systems. Thus, blockchain’s efficiency and scalability suffer from the need of time-costly consensus algorithms, which means that they can’t currently compete with centralized systems that provide a much greater amount of transactional processing power. However, with the emergence of novel processor architectures, secure hardware and trusted computing technologies (e.g. Intel SGX and ARM TrustZone), it became possible to investigate new ways of improving the inefficiency issues of blockchain systems, by designing better and improved blockchains. With all this in mind, this dissertation aims to build an efficient blockchain system that leverages trusted technologies, namely the Intel SGX. Also, a previous thesis will serve as a starting point, since it already implements a secure wallet system, that allows authenticated transactions between users, through the Intel SGX. As such, this wallet system will be extended to provide traceability of its transactions through a blockchain. This blockchain will use Intel SGX to provide an efficient causal consistency mechanism for ordering transactions. After this, the following step will be to support the execution of smart-contracts, besides regular transactions.Nos últimos anos, as blockchains tornaram-se bastante populares e o motivo é o conjunto de propriedades que fornecem, como a privacidade dos utilizadores e um registo público de transações. Essa popularidade é verificável pelo número de criptomoedas existentes e pelo atual valor de mercado da moeda Bitcoin. Desde a sua introdução, o conceito de blockchain evoluiu bastante e surgiu o conceito de smart-contract, que permite realizar operações mais complexas sobre uma blockchain, além de simples transações. Contudo, existem problemas que impedem blockchains de serem adotadas como so luções convencionais ou como uma alternativa a soluções centralizadas, como o caso de sistemas bancários. O seu principal problema é ineficiência, resultante da necessidade de um algoritmo de consensus que forneça ordem total das transações. Os sistemas tradi cionais resolvem esse problema facilmente, sendo que têm uma única entidade central que ordena transações, o que não pode ser feito em sistemas descentralizados. Assim, a eficiência e a escalabilidade das blockchains sofrem com a utilização de algoritmos de consensus dispendiosos, o que significa que não conseguem competir atualmente com sistemas centralizados que fornecem uma maior quantidade de poder de processamento transacional. No entanto, com o aparecimento de novas arquiteturas de processadores, hardware seguro e tecnologias de computação confiável (por exemplo, Intel SGX e ARM TrustZone), tornou-se possível investigar novas formas de melhorar os problemas de ineficiência dos sistemas de blockchain e a construção de sistemas melhores e mais eficientes. Assim sendo, esta dissertação visa construir uma blockchain eficiente com recurso ao Intel SGX. O ponto de partida será um sistema de wallet, que permite transações autenticadas entre usuários através do Intel SGX, desnvolvido numa dissertação anterior. Como tal, esse sistema será estendido para fornecer rastreabilidade das transações através de uma blockchain. Esta blockchain utilizará o Intel SGX para fornecer um mecanismo de consistência causal eficiente para a ordenação das transações. Depois disto, o passo seguinte será suportar a execução de smart-contract, além de simples transações

    A state consistency framework for programmable network data planes

    Get PDF
    Tese de mestrado, Engenharia Informática (Arquitetura, Sistemas e Redes de Computadores) Universidade de Lisboa, Faculdade de Ciências, 2021A tecnologia de Rede Definida por Software (SDN – Software-Defined Networking) é um método de gestão de rede que permite um planeamento dinâmico e programaticamente eficiente da mesma, a fim de melhorar o seu desempenho e monitorização. SDN tenta centralizar o cérebro da rede num único dispositivo, desassociando o processo de encaminhamento de pacotes (Data Plane), do processo de roteamento (Control Plane). A constituição do control plane consiste em um ou mais controladores, nomeadamente, aplicações que atuem de forma estratégica, que são referenciadas como sendo o cérebro da rede SDN, onde toda a inteligência é agregada. Esta dissertação foca-se em redes programáveis, o que significa que o programador da rede, pode controlar a forma como um dado dispositivo controla o fluxo de pacotes, por meio de software, sendo executado de forma independentemente do hardware da rede. Dado que a cada dia que passa as SDNs tornam-se cada vez mais importantes, permitindo aos programadores optar por diferentes métodos e formas para desenhar, implementar, e operacionalizar as redes com que diariamente se deparam. Assim, uma ferramenta que permita garantir uma comunicação fidedigna entre os dispositivos de rede, assume um papel cada vez mais relevante. Existe também o objetivo desejável de manter um estado global partilhado entre os dispositivos que constituem a rede. A crescente necessidade de garantir a segurança das redes, que cada vez mais são o veículo de transmissão da informação neste mundo globalizado e por conseguinte a proteção dos dados que nelas circulam, provocam de uma forma global um crescente interesse na atividade dos atacantes. Cada vez mais utilizam ferramentas e conceitos mais sofisticados tentando quebrar ou contornar as regras de segurança na tentativa de obter gratificação pessoal, ou porque, ao existirem melhorias numa nova área, é provável que com a sua introdução, estas insiram novas vulnerabilidades que possam ser exploradas por esses atacantes. Além disso, existe o fato que, no campo das SDNs, muitos propuseram mecanismos de comunicação entre os dispositivos do plano de dados, ou seja, switches, e mesmo entre estes. No entanto, dada a inexistência de uma maneira globalizada para realizar esta comunicação, este trabalho visa propor uma estrutura de consistência de estado que aproveite a abstração de uma máquina de estados, usando atualizações de rede consistentes, entre switches adjacentes, por meio da clonagem de pacotes, oferecida pela linguagem de programação P4 e por piggybacking de pacotes que já se encontravam a circulação na rede. Também é usada uma média movel exponencial ponderada, onde determinada condição é alcançada, e de seguida acionamos o recurso P4, anteriormente mencionado, i.e., acionamos a clonagem de pacotes, garantindo assim que todos os pacotes chegam ao seu destino. Além disso, usamos ferramentas para realizar as verificações bit a bit, considerando que a linguagem P4, ainda carece de uma forma para aceder a partes específicas do pacote que circulam na rede. Também utilizamos uma estrutura capaz de armazenar qualquer tipo de informação, i.e., os registos, nos quais decidimos armazenar todos os dados por nós considerados relevantes e a serem utilizados durante a execução. Concretamente, guardamos toda a informação relativa, tanto aos endereços de origem e ao endereço de destino do pacote, bem como os portos de entrada e os portos de saída do switch. Foi também ponderado o uso de outra linguagem de programação em vez do P4, porém esta outra linguagem, o Domino, não nos oferece a característica principal que é possibilitar a criação novos cabeçalhos, pois este era o objetivo inicial quando a linguagem foi procurada, acabando por ser posto de parte o Domino e a escolha recaiu sobre o P4, como a linguagem de programação para a implementação da ferramenta. Tendo em conta as ferramentas de simulação e de emulação dos casos de teste, á frente apresentados, foram estudadas outras ferramentas, como o NS-3 e o Estinet. Pelo conhecimento prévio e experiência na utilização do Mininet, para simular redes de casos-tipo e atendendo que uma das características chave do Mininet é similar á do NS-3 e ambas têm um mecanismo de virtualização leve, optamos pelo Mininet, pois o Mininet possibilita-nos o uso direto do OpenFlow, sem a necessidade de adicionar extras, ao contrário das outras duas ferramentas atrás referidas, que necessitam de adicionar esses extras, para suportar o uso do OpenFlow. Para a implementação da ferramenta inicialmente, consideramos a utilização um método de pacotes de tipo probe, e depois atentamos uma metodologia baseada em um novo cabeçalho, para implementar a ferramenta ao invés da utilizada, i.e., o piggybacking. Primeiramente, atentamos utilizar pacotes do tipo probe que seriam gerados pelos switches, e conforme acontecessem alterações na rede, e.g., aumentar ou diminuir a quantidade de dispositivos de rede, envisionamos que os pacotes seriam enviados pelo switch e eles continham informação de modo aos switches restantes, poderem ter conhecimento dos eventos. A outra metodologia que atentamos consistia em criar um novo cabeçalho no qual colocaríamos toda a informação que iria ser necessária para o correto funcionamento da ferramenta proposta. Contudo, e após exaustivas tentativas de testes para concretizar a sua implementação, esta apresentou demasiados problemas. Deparamo-nos com o problema fulcral que era saber onde colocar nova informação dentro dos componentes que formam a pilha de cabeçalhos da internet, uma vez que esta, é de uso globalizado e quebrar ou tentar alterar a sua estrutura, significaria que o pacote seria puramente descartado sem a possibilidade de atentar qualquer intervenção nele. Para avaliar a solução proposta, coletamos uma ampla quantidade de informações através de um programa corrido nos emissores e bem como nos recetores dos pacotes e para isso usamos dois cenários de teste distintos. No primeiro cenário, usando uma rede com um pequeno número de dispositivos, mais concretamente, 4 switches e 3 hosts, coletamos o número de pacotes recebidos no destino e o número de pacotes retransmitidos na origem. No segundo cenário, usamos uma rede com um número maior de dispositivos em comparação com o primeiro cenário, ou seja, desta vez a rede seria composta por 8 switches e 4 hosts, e nela coletamos o mesmo tipo de dados, isto é, a quantidade de pacotes recebidos no destino, após o host ter sido reajustado de modo a fazer uso desta nova rede. Também coletamos o número de pacotes retransmitidos na origem. Após uma análise extensa dos resultados obtidos, foi possível verificar que apesar de falhas nos links superiores a 70%, ainda assim conseguimos garantir que mais de 95% dos pacotes chegam com sucesso ao seu destino. Apresentando os resultados com mais detalhe, no primeiro cenário, relativamente ao número de pacotes recebidos no destino, em 75% das execuções realizadas, a nossa solução, assegurou que perto de 100 pacotes chegassem ao seu destino em cada execução. Em referência ao segundo cenário, em 79% das execuções, a nossa solução conseguiu entregar perto de 99 pacotes por execução e que estes alcançaram o seu destino. No que diz respeito ao número de pacotes retransmitidos, nestes encontramos três tipos de retransmissões. As retransmissões normais, que como o nome sugere, são aquelas em que nada de extraordinário acontece, ou seja, os pacotes são simplesmente clonados e são novamente enviados por uma rota alternativa para seu destino. Identificamos também, retransmissões com pacotes espúrios, estas retransmissões são verdadeiramente aleatórias e repetem-se em 1 ou 2 pacotes em todos os enviados. Por último, existem as retransmissões que ocorreram e que foram afetadas pelo problema de congestionamento de pacotes ou ciclos de CPU do PC quando este se encontrava mais congestionado ou ocupado. Nestas circunstâncias os pacotes foram simplesmente marcados, para existir a possibilidade de distingui-los dos restantes. Em referência ao número de pacotes retransmitidos, no primeiro cenário a nossa solução obteve em 75% das execuções, perto de 98 pacotes retransmitidos por cada uma dessas execuções. No segundo cenário, houve uma consistência nos tipos de retransmissões, pois podemos constatar que se mantiveram os mesmos tipos, todavia foi-nos também possível verificar uma diminuição considerável dos tipos de retransmissão com pacotes espúrios e nas retransmissões afetadas pelo problema de congestionamento de pacotes ou ciclos de CPU do PC quando este se encontrava mais congestionado ou ocupado. Pelo que neste segundo senário foi notável um aumento do número de pacotes retransmitidos. Para concluir, este trabalho procurou resolver o problema de inconsistência de informação presente nos dispositivos de rede ou mesmo entre eles, i.e, switches, para isso propomos uma ferramenta que garanta consistência de estado para data planes programáveis e que aproveite a clonagem de pacotes através da aplicação de uma condição ligada á média movel exponencial ponderada e piggybacking usando P4. É notável que mesmo com falhas nos links superiores a 70%, a nossa solução mesmo assim, consegue garantir que 95% dos pacotes que foram enviados, chegam aos seus destinos. Focando-nos no trabalho futuro, poderia ser utilizado o conceito de tuplos para tornar o código mais simples e tornar o acesso a certas partes do pacote ainda mais simples. Para finalizar esta dissertação, contribui uma nova ferramenta que garante consistência de estado para data planes programáveis que nos garante que os pacotes que circulam dentro de uma rede não são perdidos utilizando a clonagem de pacotes através da utilização de uma média movel, também possibilita a utilização de piggybacking através da criação de espaço no pacote que circulam na rede. Por fim, baseado nesta dissertação foi submetido um artigo para uma conferência internacional.The Software-Defined Networking (SDN) technology is a method of network management that allows dynamic, programmatically efficient network planning to improve its performance and monitoring. This dissertation focuses on programmable networks, which means that the network programmer can control how the network devices control packet flows via software that runs independently from network hardware. Given that SDN at each passing day becomes more and more prominent, a framework that can ensure reliable communication and a global state among devices become more and more important. There is also the desirable goal of being able to maintain a global shared state among all network devices. Also, there is the fact that in the field of SDNs, many have proposed communication mechanisms among data plane devices, i.e., switches, and between the latter and the controller. However, given the inexistence of a widespread manner to do so, this work aims at proposing a state consistency framework that leverages on a state machine abstraction using consistent network updates among adjacent switches through packet cloning offered by the P4 programming language and packet piggybacking. We also use a moving average that when a condition is met, such P4 feature is triggered, hence ensuring that all packets arrive at their destination. Also, we use tools to perform bitwise checks, considering that the P4 language lacks ways to access specific parts of a packet. We also use a structure that is capable of storing any type of information, i.e., registers, in which we decide to store the data to be used. To evaluate the proposed solution, we collected a broad amount of information using two scenarios. In the first scenario using a network with a small number of devices, we collect the number of packets received at the destination and the number of packets retransmitted at the sender. In the second scenario this time, using a network with a higher number of devices compared to the first scenario, we collect the same type of data, that is, the number of packets received at the destination after it has been readjusted to mirror this new network structure. We also collect the number of packets retransmitted at the sender. After an extensive analysis of the results obtained, it was possible to verify that despite link failures higher than 70%, we still managed to have more than 95% of packets arriving successfully

    Consumer-brand engagement on Instagram

    Get PDF
    Social media has been subject to an increasing number of studies. Although there is empirical research on consumer–brand interaction on social media, such as on Facebook, there is still a lack of studies on other SNS. As a marketing tool that allows brands to connect and engage with their consumers, Instagram is pointed out as a critical social network. However, there is still a lack of marketing studies on consumer-brand engagement on Instagram. Therefore, the purpose of this research is to understand the motivations for consumer to engage with a brand through Instagram. The findings should provide brand managers guidelines to develop a more effective strategy to approach this SNS. In order to fulfill the research purpose, we used an online survey with 177 valid responses. To understand the relationship between consumer motivations and consumer-brand engagement on Instagram, a multiple linear regression was performed. The results indicate that the main motivation to consume brand content on Instagram is search for information. The main motivations to actively interact with brand related content are social influence and personal identity. Brands that seek to attract their consumers to their Instagram page should offer convenient access to information, by creating interesting content through short stories, videos or photos, they should also stimulate users to share their opinion and offer appealing prizes and discounts. Further research could apply this study to a specific brand or product category
    corecore