• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 71
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 1
  • Tagged with
  • 72
  • 72
  • 72
  • 71
  • 31
  • 25
  • 17
  • 16
  • 15
  • 14
  • 13
  • 13
  • 13
  • 11
  • 11
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Aspectos de comunicação em sistemas distribuidos para aplicações de automação industrial

Nogueira, Jose Marcos Silva 30 April 1985 (has links)
Orientadores: Manuel de Jesus Mendes, Marcio Luiz de Andrade Netto / Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia de Campinas / Made available in DSpace on 2018-07-19T03:58:55Z (GMT). No. of bitstreams: 1 Nogueira_JoseMarcosSilva_D.pdf: 6793909 bytes, checksum: f31b6763c0d37c97f13f62ec909a2e7a (MD5) Previous issue date: 1985 / Resumo: A área de automação industrial vem experimentando um notável progresso nos últimos anos. Entre os fatores que para isso concorrera está o desenvolvimento da tecnologia da computação. Verifica-se nos dias de hoje uma tendência de integração dos vários subsistemas e atividades que constituem um sistema complexo de automação industrial, teste sentido, adquire singular importância a inter ligação e comunicação entre elementos de computação. Este trabalho de tese se insere neste contexto, tratando dos aspectos de comunicação em sistemas distribuídos para aplicações em automação industrial, as quais se dividem em dois ramos principais, o controle de processos e a automação da inanufatura. Inicialmente são apresentados os conceitos envolvidos em sistemas distribuídos e em redes locais de comunicação. Em seguida procura-se identificar e caracterizar os componentes dos sistemas distribuídos para aplicações em controle de processos industriais e para aplicações na automação integrada da manufatura. A problemática da integração das atividades da automação industrial e, por conseqüência, de seus subsistemas, é muito vasta. De interesse no caso são os problemas relacionados com a comunicação entre os componentes que viabilizam esta integração. Mesmo certas atividades particulares, como, por exemplo, o controle distribuído de processos e a manufatura através de sistemas flexíveis, demandam um tratamento sob o enfoque de sistemas distribuídos. No nível mais baixo da comunicação, onde se inserem as redes locais, existem problemas de topologia e de controle de acesso ao meio, bem como de protocolos de comunicação e sua padronização. Num nível intermediário, de suporte à comunicação das aplicações, existe o problema de se prover mecanismos para comunicação e sincronização entre processos computacionais. No nível superior, diretamente relacionado com as aplicações, quase tudo está por ser feito. Ajunta-se a isto o fato que as demandas de comunicação das aplicações têm perfis heterogêneos em termos de quantidade de dados e requisitos de tempo. Alguns desses problemas são tratados neste trabalho através de um exemplo ilustrativo de aplicações de controle distribuído de processos. São levantadas as características e necessidades de comunicação em termos de demanda de tráfego e tipo de informação transmitida. As aplicações são caracterizadas do ponto de vista dos programas constituintes e um modelo de programas paralelos é elaborado. Especifica-se, até o nível de implementação, um subsistema para dar suporte e prover mecanismos de comunicação e sincronização entre processos comunicantes. Este subsistema corresponde a uma camada de serviços de nível intermediário na arquitetura de sistemas distribuídos. Finalmente é apresentado um ferramenta para auxílio na análise de desempenho de sistemas distribuídos, usando técnicas de simulação e de teoria de filas. Os aspectos de desempenho são importantes no desenvolvimento de sistemas distribuídos em geral, e, em particular, no desenvolvimento de camadas individuais de serviço / Abstract: Not informed. / Doutorado / Doutor em Engenharia Elétrica
2

Pyxis : um sistema de arquivos distribuido

Fröhlich, Antonio Augusto Medeiros January 1994 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnologico / Made available in DSpace on 2016-01-08T18:59:30Z (GMT). No. of bitstreams: 1 96196.pdf: 2164331 bytes, checksum: a9e21f6cb62f5689f995adb5c201d04b (MD5) Previous issue date: 1994 / Este texto apresenta o PYXIS, um sistema de arquivos distribuído portável com alto grau de paralelismo interno, desenhado para ser flexível no que diz respeito ao ambiente sobre o qual seus componentes são distribuídos, possibilitando sua execução em multicomputadores ou em redes de computadores. O projeto foi desenvolvido no Curso de Pós-Graduação em Ciências da Computação da Universidade Federal de Santa Catarina (CPGCC/UFSC) e deverá integrar um projeto coletivo das universidades federais de Santa Catarina (UFSC), do Rio Grande do Sul (UFRGS) e de Santa Maria (UFSM), que visa desenvolver um multicomputador e um ambiente para programação paralela sobre ele.
3

Estudo e implementação de um sistema de banco de dados distribuido

Eller, Nery Artur January 1997 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnologico / Made available in DSpace on 2016-01-08T21:33:12Z (GMT). No. of bitstreams: 1 107003.pdf: 2729458 bytes, checksum: bbb91cbdf4a3d7ab6e1f9d894fa2fa64 (MD5) Previous issue date: 1997 / Neste trabalho apresenta-se o desenvolvimento e implementação de um sistema de informação baseado em um Banco de Dados Distribuído. No desenvolvimento do sistema utilizou-se técnicas da Engenharia da Informação e métodos de distribuição de dados para realizar o levantamento dos dados e processos e também os projetos lógico e físico. A implementação do sistema foi baseada no Sistema de Gerência de Banco de Dados Distribuído Oracle e em uma grande variedade de outros recursos computacionais da Celesc - Centrais Elétricas de Santa Catarina S.A, empresa usuária do sistema desenvolvido. No desenvolvimento do sistema deu-se ênfase às técnicas de replicação dos dados e do mecanismo de manutenção da integridade do Banco de Dados Distribuído em operações de atualizações globais, visando a garantia da consistência dos dados. Tirando proveito da experiência adquirida na implementação desse sistema, realizou-se também neste trabalho uma análise comparativa dos principais requisitos ideais de Banco de Dados Distribuídos existentes na literatura com o sistema implementado. Outrossim, um importante aspecto prático deste trabalho foi o domínio de modernas tecnologias para desenvolvimento de sistemas de informação distribuídos para dotar e repassar a Celesc uma nova metodologia de desenvolvimento de sistemas, atendendo com isto necessidades emergentes da empresa nesta área.
4

Simulação do escoamento em poços horizontais com completação não convencional

Sansoni Júnior, Umberto January 2015 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia Mecânica, Florianópolis, 2015. / Made available in DSpace on 2016-02-16T03:02:04Z (GMT). No. of bitstreams: 1 337633.pdf: 5685261 bytes, checksum: e300a388ae3ff5af57d696a21728f521 (MD5) Previous issue date: 2015 / Este trabalho propõe uma metodologia numérica para a simulação computacional do escoamento em poços horizontais equipados com completação não convencional, utilizando uma abordagem distribuída para resolver o escoamento no interior do poço, no anular, através da completação e entre o reservatório e o poço.O nível de detalhes nas simulações de um poço horizontal aumenta devido à complexidade das completações e a principal vantagem da abordagem distribuída é, sem dúvida, prover um método capaz de modelar o fluxo de óleo e gás nestas completações. Estes esquemas seriam inviáveis de se modelar com os simuladores convencionais de acoplamento poço-reservatório, que discretizam a geometria através de malhas, onde se trata o poço como um simples conjunto de pontos de injeção ou de surgência no reservatório, conectando-o através de um modelo de poço. A presente pesquisa insere-se na estratégica linha de desenvolvimento de metodologias novas para tratamento de problemas de acoplamento poço-reservatório, com um muito maior detalhamento do escoamento no poço e suas completações, podendo ser verificado e quantificado o escoamento de ambas as fases ao longo do anular e do liner para diversos tipos de completação, acrescentando mais física nestas simulações. A metodologia aqui desenvolvida mostrou-se ser extremamente eficaz, de baixo custo computacional, e que oferece boas respostas para auxiliar o engenheiro de poço na tomada de decisões a respeito de que tipo de poço e completação atende melhor a um determinado cenário e pode ser usado tanto para projetar completações, quanto para predizer problemas em poços completados. Ao comparar os resultados obtidos com os dos modelos usualmente empregados na simulação do acoplamento poço-reservatório que resolvem com precisão as equações diferenciais, o sistema distribuído proposto mostrou-se com muito boa concordância e com tempos computacionais muito baixos.<br> / Abstract : This thesis proposes a numerical methodology for the computational simulation of flow in horizontal wells with unconventional completions, using a distributed approach to solve the flow inside the well, in the annulus, along the well completion and in the interface between the reservoir and the well. The level of complexity of simulations of a horizontal well is relatively higher due to the conformation of the well completion. Therefore, the main advantage of using the distributed approach is, undoubtedly, to provide a method to model the flow of oil and gas in these completions. Such flows would be infeasible to be modelled with conventional reservoir simulators, which use discrete geometry through meshes where the well is considered as a simple set of injection points or upwelling in the reservoir, connecting it through a well flow model. This study is part of the strategy for development of new methods to solve well-reservoir coupling problems with much more detail on the flow along well completions. The multiphase flow along the liner and annulus for different types of completions can be checked and quantified with a physical approach. The methodology developed in this work proved to be extremely effective, with low computational cost, offering a useful tool to assist the well engineer in making decisions as to the best well architecture for a particular scenario. It also can be used, both, to design and to predict problems in well completions. By comparing the results obtained with the models usually employed in well-reservoir coupling simulation, which accurately solve the differential equations, the distributed system proposed in this work shows a very good agreement with very low computational time.
5

Algoritmos para eleição de lider em sistemas distribuidos

Alencar, Jucele França de 17 April 1998 (has links)
Orientador: Ricardo de Oliveira Anido / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-23T12:48:27Z (GMT). No. of bitstreams: 1 Alencar_JuceleFrancade_M.pdf: 2124677 bytes, checksum: c1e3777a3b380e70fde130d4c0a089d4 (MD5) Previous issue date: 1998 / Resumo: A principal característica de sistemas distribuídos é permitir que vários computadores, situados em diferentes localizações, trabalhem em conjunto para a realização de uma tarefa, possibilitando o compartilhamento de recursos e a distribuição dos serviços. No entanto, devido à dificuldade de se obter uma consistência global do sistema, o desenvolvimento de algoritmos distribuídos torna-se uma tarefa bastante complexa. Visando facilitar o controle, algoritmos distribuídos necessitam, muitas vezes, de um processador que exerça uma função diferenciada dos demais numa dada aplicação. Este processador é normalmente chamado de coordenador ou líder, e o problema de eleição de líder consiste em criar um algoritmo distribuído para uma dada rede de processadores tal que, ao terminar a execução deste algoritmo um, e apenas um, dos processadores seja designado líder. Esta dissertação apresenta um survey englobando as principais soluções para o problema de eleição de líder, analisando suas complexidades de mensagens e tempo e buscando uma classificação de modo a agrupar os algoritmos baseando-se no modelo do sistema e no princípio básico usado no desenvolvimento dos mesmos. / Abstract: The main feature of a distributed system is to allow many computers, at different locations, to work together performing a common task, making the sharing of resources and the distribution of services possible. However, due to the difficulty of acquiring a global view of the system, the development of distributed algorithms is very complex. Several distributed applications make use of a distinguished processor to execute some special task. This processor generally is called coordinator or leader; the leader election problem consists of finding a distributed algorithm for a given network such that, at the end of the execution, only one processor has been declared leader. This dissertation presents, a survey of the main algorithms for the leader election problem, analyzing their message and time complexities and attempting to classify the algorithms according to the system model and the basic principle used in their development. / Mestrado / Mestre em Ciência da Computação
6

Detecção de propriedades estaveis em sistemas distribuidos

Craveiro, Gisele da Silva 23 July 2018 (has links)
Orientador: Ricardo de Oliveira Anido / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-23T17:02:31Z (GMT). No. of bitstreams: 1 Craveiro_GiseledaSilva_M.pdf: 4309633 bytes, checksum: 221da7db8cdd6ce3e8ae00b42aaad9cb (MD5) Previous issue date: 1998 / Resumo: Elaborar uma solução para um problema distribuído que atenda aos critérios de segurança e progresso está muito longe de ser uma tarefa trivial. Nem mesmo algoritmos publicados escaparam de contestação posterior, mostrando que são incorretos. Com o objetivo de encontrar uma modelagem mais adequada, alguns pesquisadores tomam a direção das derivações. Verificando comportamentos similares e características comuns, pretende-se desenvolver um método que facilite o projeto de algoritmos distribuídos para resolver problemas que apresentem algumas similaridades. Uma característica muito importante comum a certos problemas é a propriedade da estabilidade, isto é, se o problema ocorre, ele persistirá até que seja detectado e tratado. Assim acontece com deadlocks e quando uma computação distribuída alcança o término de sua atividade. Esta dissertação concentra-se nos seguintes pontos. Do estudo das áreas de deadlock e terminação distribuídos resulta a apresentação da modelagem de cada problema, uma visão em largura das abordagens propostas para a detecção do deadlock distribuído e para a detecção da terminação distribuída e a discussão mais detalhada de alguns algoritmos propostos para esses dois problemas. Às contribuições citadas soma-se a proposição de um método que derive soluções para o problema da terminação distribuída a partir de algoritmos para a detecção do deadlock, preservando as propriedades de segurança e progresso da solução base / Abstract: Devising a solution to a distributed problem, satisfying the requirements of progress and safety is clearly not an easy task. Several published algorithms have been shown incorrect, despite having been "proven" correct at time of publication. An interesting approach to devise a new solution to a problem is to use a known solution to a different problem that has similar requirements and characteristics. In this dissertation we present a methodology to derive solutions to the problem of detecting the termination of a distributed computation based on solutions to the deadlock problem. A common characteristic of these problems is that both are persistent: once attained the condition of deadlock or termination, the condition will hold thereafter, until some external action is taken. Besides presenting the derivation methodology, this dissertation presents a broad study of the more interesting solutions to the deadlock and termination problems found in the literature / Mestrado / Mestre em Ciência da Computação
7

Gerencia de monitorização de sistemas distribuidos em um ambiente CORBA usando agentes moveis

Ropelatto, Patricia 25 July 2018 (has links)
Orientador: Edmundo Roberto Mauro Madeira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-25T06:56:39Z (GMT). No. of bitstreams: 1 Ropelatto_Patricia_M.pdf: 18671589 bytes, checksum: 41ffc8f85abf6526f45d8abfb5ff1173 (MD5) Previous issue date: 1999 / Resumo: Os modelos tradicionais de gerência de redes e sistemas distribuídos utilizam agentes estáticos. Este trabalho propõe uma nova abordagem explorando a mobilidade de agentes em um ambiente OMG/CORBA para a plataforma Multiware desenvolvida na Universidade Estadual de Campinas. Uma grande vantagem dos agentes móveis sobre os agentes estáticos é a de evitar a sucessão de requisições e respostas na rede tornando a gerência mais flexível e eficiente. Além disso, é dada aos mesmos uma certa autonomia para agirem em benefício dos seus gerentes promovendo uma descentralização parcial da gerência. Nesta dissertação, a. informação de gerência é obtida através do conceito de Instrumentação definido pelas CORBAfacilities. Com base neste conceito, foi utilizada uma estrutura de filtragem de dados associada aos objetos distribuídos CORBA. Um conjunto de agentes foi definido com a finalidade de coletar informações nas áreas de contabilização e desempenho em três níveis de detalhamento sucessivos: host, processo e objeto. / Abstract: Traditional management models of networks and distributed systems use static agents. This work proposes a new approach which explores the mobility of agents in an OMG/CORBA environment for the Multiware platform developed at University of Campinas. A strong advantage of the mobile agents against the static ones is to avoid successive requests and responses in the network what makes the management more flexible and efficient. Besides, a relative autonomy is given to the agents what allows them to act in benefit of their managers and to promote the partial management decentralization. In this dissertation, the management information is obtained through the concept of Instrumentation defined by the CORBA facilities. Based on this concept, a data filtering structure was used associated to the distributed CORBA objects. A pool of agents was defined to gather information with regards to accounting and performance in three levels of successive detailing: host, process and object. / Mestrado / Mestre em Ciência da Computação
8

Um sistema de suporte para um ambiente de programação orientada a objetos e distribuida

Oliveira Filho, Mauro da Silva 25 July 2018 (has links)
Orientador: Rogerio Drummond / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-25T14:35:52Z (GMT). No. of bitstreams: 1 OliveiraFilho_MaurodaSilva_M.pdf: 1614584 bytes, checksum: a3f9b8fd6903c1975835458cdc955d2b (MD5) Previous issue date: 1998 / Resumo: Os conceitos de sistema distribuído e programação orientada a objetos têm vantagens e requisitos que tornam natural e desejável a integração entre os dois. A utilização do conceito de objetos remotos na linguagem de programação facilita o desenvolvimento de aplicações distribuídas. Nesta dissertação descrevemos a especificação e a implementação de um sistema de suporte (RTS) que oferece a abstração de objetos remotos a uma linguagem de programação. O RTS é dividido em três camadas: básica, configurável e de objetos. A camada básica não possui o conceito de objetos e é descrita de forma independente de linguagem; fornece suporte às operações das outras camadas. A camada configurável oferece. um conjunto de serviços que podem ser utilizados pelos objetos remotos. Já a camada de objetos oferece operações que permitem a utilização de objetos remotos em uma linguagem de programação. Para a implementação da camada de objetos foi utilizada a linguagem Cm Distribuído (CmD) / Abstract: Distributed systems and object-oriented programming have advantages and requirements that make integration natural and desirable. The notion of remote objects can be incorporated in object-oriented languages for easy development of distributed applications. This work focuses on the specification and implementation of a run-time system (RTS) which offers remote objects concepts for a programming language. The RTS is a tree-tier system: a low-level, language independent layer which does not directly support objects, a middle-level layer which offers services to remote objects, and an upper-level layer supporting the remote objects' notions. Examples are shown in Distributed Cm language (CmD) to stress the usefulness of the notion of remote objects / Mestrado / Mestre em Ciência da Computação
9

Port system : sistema de comunicação em grupo para o ambiente Xchart

Alves, Edilmar Lima 15 March 1996 (has links)
Orientadores: Hans Kurt Edmund Liesenberg, Luis Eduardo Buzato / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-11-08T16:28:50Z (GMT). No. of bitstreams: 1 Alves_EdilmarLima_M.pdf: 2467958 bytes, checksum: cef17452b03b517b69bd30d488aea48d (MD5) Previous issue date: 1996 / Resumo: O objetivo do corrente trabalho é fornecer um sistema de comunicação em grupo que servirá de base para o desenvolvimento de outros subsistemas do Ambiente Xchart. O Ambiente Xchart contém um conjunto de ferramentas que permitem a especificação e a implementação de interfaces homem-computador concorrentes, ou seja, interfaces que podem ser divididas em várias sub-interfaces. Cada sub-interface pode ser executada em um computador diferente de um sistema distribuído. Sendo assim, é necessária a existência de um ambiente de controle da execução distribuída de sub-interfaces, denominado Gerente de Distribuição. Este trabalho implementa o subsistema de mais baixo nível do Gerente de Distribuição, e é formado pelos seguintes módulos: Sistema de Comunicação ( responsável pela troca de mensagens com o sistema distribuído), Sistema de Detecção de Falhas (detecta falhas na comunicação e avisa o Sistema de Comunicação), Servidor de Grupos (responsável pela manutenção de grupos e envio de multicast para um grupo de processos), e Servidor de Nomes (fornece a transparência de localização de recursos compartilhados no sistema distribuído) . / Abstract: The aim of this work has been the implementation of a group communication system, that will be the base for development of other subsystems of the Xchart Environment. The Xchart Environment provides a set of tools for specification and implementation of concurrent human-computer interfaces, interfaces that may be divided in many sub-interfaces. Each sub-interface may be run in a different computer of a distributed system. Thus, an environment to control the distributed execution of the sub-interfaces, named Distribution Manager, is needed. This work implements the lowest level subsystem of the Distribution Manager, and it is composed of the following modules: Communication System (responsible for the exchange of messages with the distributed system), Failure Detection System (it detects failures in the communication and notifies the Communication System), Group Server (responsible for keeping groups and for multicast sending for a group of processes), and Name Server (it provides location transparency of shared resources of a distributed system). / Mestrado / Mestre em Ciência da Computação
10

Caracterização computacional para alocação distribuída para uma configuração com interface natural de usuário

Ferreira, Guilherme Maciel January 2015 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015. / Made available in DSpace on 2015-11-03T03:08:31Z (GMT). No. of bitstreams: 1 335776.pdf: 2160365 bytes, checksum: 68ea7ab8421bb65ea38a23e2b8c19ef8 (MD5) Previous issue date: 2015 / Em um sistema distribuído heterogêneo, como grades computacionais, a escolha do sistema computacional para processar uma tarefa é realizada por meio de heurísticas adotadas igualmente para todos os sistemas. Os métodos atuais para avaliação da carga computacional, em grades heterogêneas, não levam em consideração características qualitativas que afetam o desempenho. Sistemas computacionais aparentemente idênticos, com as mesmas características quantitativas (tal como a quantidade de núcleos de processamento e de memória), podem apresentar desempenhos desiguais. O método proposto consiste em uma política de informação ao balanceamento de carga e tem como objetivo mensurar a carga dos sistemas computacionais por meio da avaliação de seus recursos quantitativos, tanto os imutáveis (como a quantidade de núcleos de processamento) quanto os mutáveis (como o percentual de memória livre), e qualitativos, inerentes à arquitetura do sistema computacional. A comparação da carga computacional entre os sistemas permite que o balanceamento de carga seja realizado mesmo em sistemas distribuídos heterogêneos para que seja possível a escolha do sistema computacional no qual executar uma tarefa da forma mais eficiente. Esta pesquisa utiliza a ferramenta CVFlow, uma Interface Natural de Usuário destinada ao balanceamento de carga, para avaliar o método proposto. O experimento consiste no escalonamento de um conjunto de tarefas e na comparação do método proposto com o estado da arte presente na literatura. O método proposto fornece um conjunto de melhorias que distribuem a carga de forma mais homogênea entre os sistemas computacionais, evitando, assim, sobrecarregar um sistema específico, além de oferecer um desempenho superior na execução do conjunto de tarefas.<br> / Abstract : In a distributed heterogeneous system, such as grids, the choice of a computer system to process a task is performed by means of heuristics adopted equally for all systems. Current methods for assessing the computing load, on heterogeneous grids, do not take into account qualitative characteristics that affect performance. Computer systems apparently identical, with the same quantitative traits (such as the number of processing cores and memory), may provide different performance. The proposed method consists of an information policy to load balancing. It aims to measure the load of a computer systems through the assessment of their quantitative and qualitative features. Quantitative, both immutable (as the number of cores) and mutable (as the percentage of free memory). And the qualitative, inherent to the computer system architecture. Comparison of computational load between systems allows load balancing to be performed even in heterogeneous distributed systems, to be able to choose the computer system on which to perform a task more efficiently. This research uses the CVFlow tool, a Natural User Interface intended for load balancing, to evaluate the proposed method. The experiment consists of the scheduling of a set of tasks and the comparison of the proposed method with the state of the art. The proposed method provides a set of improvements that distribute the load more evenly among computer systems, avoid overloading a particular system, and provides a better performance on the execution of the set of tasks.

Page generated in 0.1762 seconds