Antivirus
Antivirus
"antivirus" is protective software designed to defend your computer against "antivirus" is protective software designed to defend your computer against malicious software. Malicious software, or "malware" includes: viruses, Trojans, malicious software. Malicious software, or "malware" includes: viruses, Trojans, keyloggers, hijackers, dialers, and other code that vandalizes or steals your computer keyloggers, hijackers, dialers, and other code that vandalizes or steals your computer contents. In order to be an effective defense, your antivirus software needs to run in contents. In order to be an effective defense, your antivirus software needs to run in the background at all times, and should be kept updated so it recognizes new the background at all times, and should be kept updated so it recognizes new versions of malicious software.
versions of malicious software.
Antivirus refers to the products and technology used to
Antivirus refers to the products and technology used to detect malicious code. Antivirus software candetect malicious code. Antivirus software can typically prevent malware from infecting your system and it typically can remove malicious code that has typically prevent malware from infecting your system and it typically can remove malicious code that has infected the system. Most antivirus vendors share information and r
infected the system. Most antivirus vendors share information and resources to ensure rapid esources to ensure rapid response toresponse to malicious code outbreaks. Legitimate antivirus vendors
malicious code outbreaks. Legitimate antivirus vendors participate in independent testing which certifiesparticipate in independent testing which certifies their products to detect and/or disinfect a specific set o
their products to detect and/or disinfect a specific set of malware.f malware. Traditional antivirus software use
Traditional antivirus software use signature scanningsignature scanningto scan files for malicious code either in realtime,to scan files for malicious code either in realtime, automatically as they are introduced to the s
automatically as they are introduced to the system, or as manually requested bystem, or as manually requested by the user. Other types ofy the user. Other types of antivirus products rely on integrity checking and/or beh
antivirus products rely on integrity checking and/or behavior blocking to respectively prevent files fromavior blocking to respectively prevent files from modificaton or stop certain actions from
modificaton or stop certain actions from taking place.taking place. Antivirus
Antivirus oror anti-virusanti-virus softwaresoftware is used to prevent, detect, and removeis used to prevent, detect, and remove malwaremalware,, including but notincluding but not limited to
limited to computer virusescomputer viruses,, computer wormcomputer worm,, trojan horsestrojan horses,, spywarespywareandand adwareadware.. This page talks aboutThis page talks about the software used for the prevention and rem
the software used for the prevention and removal of suchoval of such threatsthreats,, rather thanrather than computercomputer
security
security implemented by software methods.implemented by software methods. A variety of strategies are typically em
A variety of strategies are typically employed. Signature-based detection involves searching for knownployed. Signature-based detection involves searching for known patterns of data within
patterns of data within executable codeexecutable code.. However, it is possible for a computer to be infected with newHowever, it is possible for a computer to be infected with new malware for which no signature is yet known. To
malware for which no signature is yet known. To countercountersuch so-calledsuch so-calledzero-day threatszero-day threats,, heuristicsheuristicscancan be used. One type of heuristic
be used. One type of heuristic approach, generic signatures, can identify new viruses or variants ofapproach, generic signatures, can identify new viruses or variants of existing viruses by looking for known malicious code, or slight variations of such code, in files. Some existing viruses by looking for known malicious code, or slight variations of such code, in files. Some antivirus software can also predict what a file will do by running it in a
antivirus software can also predict what a file will do by running it in a sandboxsandbox and analyzing what it doesand analyzing what it does to see if it performs any malicious actions.
to see if it performs any malicious actions. No matter how useful antivirus software can
No matter how useful antivirus software can be, it can sometimes be, it can sometimes have drawbacks. Antivirus software canhave drawbacks. Antivirus software can impair a
impair a computer's performancecomputer's performance.. Inexperienced users may also have trouble understanding the Inexperienced users may also have trouble understanding the promptsprompts and decisions that antivirus software presents them with. An
and decisions that antivirus software presents them with. An incorrect decision may lead to a incorrect decision may lead to a securitysecurity breach. If the antivirus software employs heuristic detection, success depends on
breach. If the antivirus software employs heuristic detection, success depends on achieving the rightachieving the right balance between
balance between false positivesfalse positives andand false negativesfalse negatives.. False positives can be as destructive as falseFalse positives can be as destructive as false negatives
negatives..[1][1]Finally, antivirus software generally runs at the Finally, antivirus software generally runs at the highly trustedhighly trusted kernelkernellevel of thelevel of the operatingoperating
system
W
Web s
eb server
erver
The primary function of a web server is to deliver web pages on the request to
The primary function of a web server is to deliver web pages on the request to clientsclients.. This means delivery of
This means delivery of HTML documentsHTML documents and any additional content that may beand any additional content that may be included by a document, such as
included by a document, such as imagesimages,, style sheetsstyle sheets andand scriptsscripts..
A client, commonly a
A client, commonly a web browserweb browser oror web crawlerweb crawler,, initiates communication byinitiates communication by making a request for a specific resource using HTTP and the server responds with the making a request for a specific resource using HTTP and the server responds with the content of that resource or an error message if unable to do so. The resource is content of that resource or an error message if unable to do so. The resource is typically a real file on the server's
typically a real file on the server's secondary memorysecondary memory,, but this is not necessarily thebut this is not necessarily the case and depends on how the web server is
case and depends on how the web server is implementedimplemented..
While the primary function is to serve content, a full implementation of HTTP also While the primary function is to serve content, a full implementation of HTTP also includes ways of receiving content from clients. This feature is used for includes ways of receiving content from clients. This feature is used for submitting
submittingweb formsweb forms,, includingincluding uploadinguploading of files.of files.
Many generic web servers also support
Many generic web servers also support server-side scriptingserver-side scripting,, e.g.,e.g., Active ServerActive Server
Pages
Pages (ASP) and PHP(ASP) and PHP.. This means that the behaviour of the web server canThis means that the behaviour of the web server can be
bescriptedscripted in separate files, while the actual server software remains unchanged.in separate files, while the actual server software remains unchanged. Usually, this function is used to create HTML documents "on-the-fly" as opposed to Usually, this function is used to create HTML documents "on-the-fly" as opposed to returning fixed documents. This is referred to as
returning fixed documents. This is referred to as dynamicdynamic andand staticstatic contentcontent respectively. The former is primarily used for r
respectively. The former is primarily used for retrieving and/or modifying informatioetrieving and/or modifying informationn from
from databasesdatabases.. The latter is, however, typically much faster and more The latter is, however, typically much faster and more easilyeasily cachedcached..
Web servers are not always used for serving the
Web servers are not always used for serving the world wide webworld wide web.. They can also beThey can also be found
found embeddedembedded in devices such asin devices such as printersprinters,, routersrouters,, webcamswebcamsand serving onlyand serving only aa local network local network .. The web server may then be used The web server may then be used as a part of as a part of a system for monitoringa system for monitoring and/or administrating the device in question. This usually means that no additional and/or administrating the device in question. This usually means that no additional software has to be installed on the client computer, since only a web browser is software has to be installed on the client computer, since only a web browser is required (which now is included with most
History of web servers History of web servers
The world's first web server In 1989
The world's first web server In 1989 Tim Berners-LeeTim Berners-Leeproposed a new project withproposed a new project with the goal of easing the exchange of information between scientists by using the goal of easing the exchange of information between scientists by using aa hypertexthypertext system to his employersystem to his employer CERNCERN.. The project resulted in Berners-LeeThe project resulted in Berners-Lee writing two programs in 1990:
writing two programs in 1990:
AA browserbrowser calledcalled WorldWideWebWorldWideWeb
The world's first web server, later known asThe world's first web server, later known as CERN httpdCERN httpd,, which ranwhich ran
on
on NeXTSTEPNeXTSTEP
Between 1991 and 1994,
Between 1991 and 1994, the simplicity and effectiveness of early technologies used tothe simplicity and effectiveness of early technologies used to surf and exchange data through the World Wide Web helped to port them to many surf and exchange data through the World Wide Web helped to port them to many different operating systems and spread their use among socially diverse groups of different operating systems and spread their use among socially diverse groups of people, first in scientific organizations, then in universities and finally in industry.
people, first in scientific organizations, then in universities and finally in industry.
In 1994 Tim Berners-Lee decided to constitute the
In 1994 Tim Berners-Lee decided to constitute the World WideWorld Wide
Web Consortium
Web Consortium (W3C) to regulate the further development of the many (W3C) to regulate the further development of the many technologietechnologiess involved (HTTP, HTML, etc.) through
involved (HTTP, HTML, etc.) through a standardization process.a standardization process.
Common features Common features
Virtual hostingVirtual hosting to serve many Web sites using oneto serve many Web sites using one IP addressIP address
Large file supportLarge file support to be able to serve files whose size is greater than 2 GB onto be able to serve files whose size is greater than 2 GB on
32 bit 32 bit OSOS
Bandwidth throttlingBandwidth throttling to limit the speed of responses in order to not saturateto limit the speed of responses in order to not saturate
the network and to be
the network and to be able to serve more clientsable to serve more clients
Server-side scriptingServer-side scriptingto generate dynamic Web pagesto generate dynamic Web pages,, still keeping web serverstill keeping web server
and website implementations separate from each other and website implementations separate from each other
Path translation Path translation
Web servers are able to map the path component of a
Web servers are able to map the path component of a Uniform ResourceUniform Resource
Locator
Locator ((URLURL) into:) into:
A local file system resource (for A local file system resource (for static requests)static requests)
An internal or external program name (for An internal or external program name (for dynamic requests)dynamic requests)
For a
For a static request static request the URL path specified by the client is relative to the web server'sthe URL path specified by the client is relative to the web server's root directory.
Consider the following URL as it would be requested by a client: Consider the following URL as it would be requested by a client:
http://www.example.com/path/file.html http://www.example.com/path/file.html The client's
The client's user agentuser agent will translate it into a connection towill translate it into a connection to www.example.comwww.example.comwith thewith the following HTTP 1.1 request: following HTTP 1.1 request: GET /path/file.html HTTP/1.1 GET /path/file.html HTTP/1.1 Host: www.example.com Host: www.example.com The web server on
The web server on www.example.comwww.example.comwill append the given path to the path of its rootwill append the given path to the path of its root directory. On an
directory. On an Apache serverApache server,, this is commonlythis is commonly /home/www/home/www (On(On UnixUnixmachines,machines, usually
usually /var/www/var/www). The result is the local file system resource:). The result is the local file system resource:
/home/www
/home/www/path/file.html/path/file.html
The web server then reads the file, if it exists and sends a response to the client's Web The web server then reads the file, if it exists and sends a response to the client's Web browser. The response will describe the
browser. The response will describe the content of the file and contain the content of the file and contain the file itself orfile itself or an error message will return
an error message will return saying that the file does not saying that the file does not exist or is unavailable.exist or is unavailable.
Load limits Load limits
A web server (program) has defined load limits, because it can handle only a limited A web server (program) has defined load limits, because it can handle only a limited number of concurrent client connections (usually between 2 and 80,000, by default number of concurrent client connections (usually between 2 and 80,000, by default between 500 and 1,000) per
between 500 and 1,000) per IP addressIP address (and TCP port) and it can serve only a certain(and TCP port) and it can serve only a certain maximum number of requests per second depending on:
maximum number of requests per second depending on:
Its own settingsIts own settings
The HTTP request typeThe HTTP request type
Content origin (static or dynamic)Content origin (static or dynamic)
The fact that the served content is or is notThe fact that the served content is or is not cachedcached
The hardwareThehardware andand softwaresoftwarelimitations of the OS where it is workinglimitations of the OS where it is working
When a web server is near to or ov
When a web server is near to or over its limits, it becomes unresponsive.er its limits, it becomes unresponsive.
Kernel-mode and user-mode web servers Kernel-mode and user-mode web servers
A web server can be either implemented into the
A web server can be either implemented into the OSOS kernelkernel,, or inor in user spaceuser space (like(like other regular
other regular applicatapplications).ions).
An
An in-kernel web serverin-kernel web server (like(like TUXTUX on GNU/Linux or Microsofton GNU/Linux or Microsoft IISIISon Windows) willon Windows) will usually work faster, because, as part of the system, it can directly use all the hardware usually work faster, because, as part of the system, it can directly use all the hardware
resources it needs, such as non-paged memory, CPU time-slices, network adapters, or resources it needs, such as non-paged memory, CPU time-slices, network adapters, or buffers.
buffers.
Web servers that run in user-mode have to ask the system the permission to use more Web servers that run in user-mode have to ask the system the permission to use more memory or more CPU resources. Not only do these requests to the kernel take time, memory or more CPU resources. Not only do these requests to the kernel take time, but they are not always satisfied because the system reserves resources for its own but they are not always satisfied because the system reserves resources for its own usage and has the responsibility to
usage and has the responsibility to share hardware resources with all the other share hardware resources with all the other runningrunning applications.
applications.
Also, applications cannot access the system's internal buffers, which causes useless Also, applications cannot access the system's internal buffers, which causes useless buffer copies that create another handicap for user-mode web servers. As a buffer copies that create another handicap for user-mode web servers. As a consequence, the only way for a user-mode web server to match kernel-mode consequence, the only way for a user-mode web server to match kernel-mode performance is to raise the quality of its code to
performance is to raise the quality of its code to much higher standards, similar to thatmuch higher standards, similar to that of the code used in web servers that run in the kernel. This is a significant issue under of the code used in web servers that run in the kernel. This is a significant issue under Windows, where the user-mode overhead is about six times greater than that under Windows, where the user-mode overhead is about six times greater than that under Linux
Linux..[2][2]
Overload causes Overload causes
At any time web
At any time web servers can be overloaded because of:servers can be overloaded because of:
Too much legitimate web traffic.Too much legitimate web traffic. Thousands or even millions of clientsThousands or even millions of clients
connecting to the web site in a short interval, e.g.,
connecting to the web site in a short interval, e.g., Slashdot effectSlashdot effect;;
Distributed Denial of ServiceDistributed Denial of Service attacks;attacks;
Computer wormsComputer wormsthat sometimes cause abnormal traffic because of millionsthat sometimes cause abnormal traffic because of millions
of infected computers (not coordinated among them); of infected computers (not coordinated among them);
XSS virusesXSS virusescan cause high traffic because of millions of infected browserscan cause high traffic because of millions of infected browsers
and/or web servers; and/or web servers;
Internet botsInternet bots..Traffic not filtered/limited on large web sites with very fewTraffic not filtered/limited on large web sites with very few
resources (bandwidth, etc.); resources (bandwidth, etc.);
InternetInternet(network) slowdowns(network) slowdowns, so that client requests are served more slowly, so that client requests are served more slowly
and the number of connections increases so much that server limits are and the number of connections increases so much that server limits are reached;
reached;
Web servers ((computersWeb servers computers)) partial unavailability.partial unavailability. This can happen because of This can happen because of
required or urgent maintenance or upgrade, hardware or software required or urgent maintenance or upgrade, hardware or software failures
failures,,back-endback-end (e.g.,(e.g., databasedatabase)) failures, etc.; in these cases the remainingfailures, etc.; in these cases the remaining web servers get too much traffic and become overloaded.
web servers get too much traffic and become overloaded.
Overload symptoms Overload symptoms
The symptoms of an
Requests are served with (possibly long) delays (from 1 second to a fewRequests are served with (possibly long) delays (from 1 second to a few
hundred seconds). hundred seconds).
500, 502, 503, 504 HTTP errors500, 502, 503, 504 HTTP errors are returned to clients (sometimes alsoare returned to clients (sometimes also
unrelated
unrelated 404 error404 erroror evenor even 408 error408 error may be returned).may be returned).
TCPTCPconnections are refused or reset (interrupted) before any content is sentconnections are refused or reset (interrupted) before any content is sent
to clients. to clients.
In very rare cases, only In very rare cases, only partial contents are sent (but this behavior may well bepartial contents are sent (but this behavior may well be
considered a
considered a bugbug,, even if it even if it usually depends on unavailable system resources).usually depends on unavailable system resources).
Anti-overload techniques Anti-overload techniques
To partially overcome above load limits and to prevent overload, To partially overcome above load limits and to prevent overload, most popular Web sites use common techniques like:
most popular Web sites use common techniques like:
managing network trafficmanaging network traffic, by using:, by using: o
o FirewallsFirewalls to block unwanted traffic coming from bad IP sources orto block unwanted traffic coming from bad IP sources or having bad patterns;
having bad patterns; o
o HTTP traffic managersHTTP traffic managers to drop, redirect or rewrite requests havingto drop, redirect or rewrite requests having bad
bad HTTPHTTPpatterns;patterns; o
o Bandwidth managementBandwidth management andand traffic shapingtraffic shaping,, in order to smooth downin order to smooth down peaks in network usage;
peaks in network usage;
deploying Web cachedeployingWeb cache techniques;techniques;
using different domain namesusing differentdomain names to serve different (static and to serve different (static and dynamic) content bydynamic) content by
separate web servers, i.e.: separate web servers, i.e.:
o
o http://images.example.comhttp://images.example.com o
o http://www.example.comhttp://www.example.com
using different domain names and/or computers to separate big files from smallusing different domain names and/or computers to separate big files from small
and medium sized files; the idea is to be able to fully
and medium sized files; the idea is to be able to fully cachecache small and mediumsmall and medium sized files and to efficiently serve big or huge (over 10 - 1000 MB) files by sized files and to efficiently serve big or huge (over 10 - 1000 MB) files by using different settings;
using different settings;
using many web servers (programs) per computer, each one bound to itsusing many web servers (programs) per computer, each one bound to its
own
own network cardnetwork card andand IP addressIP address;;
using many web servers (computers) that are grouped together so that they actusing many web servers (computers) that are grouped together so that they act
or are seen as one big web server (see also
or are seen as one big web server (see also Load balancerLoad balancer));;
adding more hardware resources (i.e.adding more hardware resources (i.e. RAMRAM,, disksdisks)) to each computer;to each computer;
tuning OS parameters for tuning OS parameters for hardware capabilitiehardware capabilities and s and usage;usage;
using more efficient computer programsusing more efficient computer programsfor web servers, etc.;for web servers, etc.;
Cloud Computing
Cloud Computing
Cloud computing platforms are growing in popularity, but why? What unique advantages Cloud computing platforms are growing in popularity, but why? What unique advantages
does a cloud computing architecture offer to companies in today’s economic climate? does a cloud computing architecture offer to companies in today’s economic climate?
And what just what is cloud computing,
And what just what is cloud computing, anyway?” Let’s explore the cloud computinganyway?” Let’s explore the cloud computing
infrastructure and its impact on critically important areas to IT, like security, infrastructure and its impact on critically important areas to IT, like security, infrastructure investments, business application development, and more.
infrastructure investments, business application development, and more.
Most IT departments are forced to spend a significant portion of their time on frustrating Most IT departments are forced to spend a significant portion of their time on frustrating
implementation, maintenance, and upgrade projects that too often don’t add significant implementation, maintenance, and upgrade projects that too often don’t add significant value to the company’s bottom line. Increasingly, IT teams are turning to cloud value to the company’s bottom line. Increasingly, IT teams are turning to cloud
computing technology to minimize the time spent on lower-value activities and allow IT computing technology to minimize the time spent on lower-value activities and allow IT to focus on strategic activities with greater impact on the business.
to focus on strategic activities with greater impact on the business.
The fundamental cloud computing infrastructure has won over the CIOs of some of the The fundamental cloud computing infrastructure has won over the CIOs of some of the
world’s largest organizations—
world’s largest organizations—these once-skeptical executives never looked back afterthese once-skeptical executives never looked back after experiencing first-hand the host of benefits delivered by cloud computing technology. experiencing first-hand the host of benefits delivered by cloud computing technology.
Proven Web-services integration.Proven Web-services integration. By their very nature, cloud computingBy their very nature, cloud computing technology is much easier and quicker to integrate with your other enterprise technology is much easier and quicker to integrate with your other enterprise applications (both traditional software and cloud computing infrastructure-based), applications (both traditional software and cloud computing infrastructure-based), whether third-party or homegrown.
whether third-party or homegrown.
World-class service delivery.World-class service delivery. Cloud computing infrastructures offer muchCloud computing infrastructures offer much greater scalability, complete disaster recovery, and impressive uptime numbers. greater scalability, complete disaster recovery, and impressive uptime numbers.
No hardware or software to install:No hardware or software to install: a 100% cloud computing infrastructure.a 100% cloud computing infrastructure.
The beauty of cloud computing technology is its simplicity… and in the fact that it The beauty of cloud computing technology is its simplicity… and in the fact that it
requires significantly fewer capital expenditures to get up and running. requires significantly fewer capital expenditures to get up and running.
Faster and lower-risk deployment.Faster and lower-risk deployment. You can get up and running in a fraction ofYou can get up and running in a fraction of the time with a cloud computing infrastructure. No more waiting months or years the time with a cloud computing infrastructure. No more waiting months or years and spending millions of dollars before anyone gets to log into your new solution. and spending millions of dollars before anyone gets to log into your new solution. Your cloud computing technology applications are live in a matter of weeks or Your cloud computing technology applications are live in a matter of weeks or months, even with extensive customization or integration.
months, even with extensive customization or integration.
Support for deep customizations.Support for deep customizations. Some IT professionals mistakenly think thatSome IT professionals mistakenly think that cloud computing technology is difficult or impossible to customize extensively, cloud computing technology is difficult or impossible to customize extensively, and therefore is not a good choice for complex enterprises. The cloud computing and therefore is not a good choice for complex enterprises. The cloud computing infrastructure not only allows deep customization and application configuration, it infrastructure not only allows deep customization and application configuration, it preserves all those customizations even during upgrades. And even better, cloud preserves all those customizations even during upgrades. And even better, cloud computing technology is ideal for application development to support your
computing technology is ideal for application development to support your
organization’s evolving needs. organization’s evolving needs.
Empowered business users.Empowered business users. Cloud computing technology allows on-the-fly,Cloud computing technology allows on-the-fly, point-and-click customization and report generation for business users, so IT point-and-click customization and report generation for business users, so IT doe
Automatic upgrades that don’t impact IT resources.Automatic upgrades that don’t impact IT resources. Cloud computingCloud computing
infrastructures put an end to a huge IT dilemma: If we upgrade to the infrastructures put an end to a huge IT dilemma: If we upgrade to the
latest-and-greatest version of the application, we’ll be forced to spend time and resources greatest version of the application, we’ll be forced to spend time and resources (that we don’t have) to rebuild our customizations and integrations. Cloud
(that we don’t have) to rebuild our customizations and integrations. Cloud
com
computing technology doesn’t force you to decide between upgrading andputing technology doesn’t force you to decide between upgrading and
preserving all your hard work, because those customizations and integrations are preserving all your hard work, because those customizations and integrations are automatically preserved during an upgrade.
automatically preserved during an upgrade.
Pre-built, pre-integrated apps for cloud computing technology.Pre-built, pre-integrated apps for cloud computing technology. TheThe Force.com AppExchange features hundreds of applications built for cloud Force.com AppExchange features hundreds of applications built for cloud
computing infrastructure, pre-integrated with your Salesforce CRM application or computing infrastructure, pre-integrated with your Salesforce CRM application or your other application development work on Force.com.
your other application development work on Force.com.
A Cloud Computing Infrastructure: What’s the
A Cloud Computing Infrastructure: What’s the Value?Value?
Cloud computing infrastructures and salesforce.com’s Force.com platform have won Cloud computing infrastructures and salesforce.com’s Force.com platform have won over the CIOs of some of the world’s largest organizations. These forward
over the CIOs of some of the world’s largest organizations. These forward -thinking (yet-thinking (yet extremely security-conscious) tech executives fully vetted Force.com and realized the extremely security-conscious) tech executives fully vetted Force.com and realized the value cloud computing technology offers.
value cloud computing technology offers.
Salesforce.com frees companies from traditional software and its hidden costs, high Salesforce.com frees companies from traditional software and its hidden costs, high failure rates, unacceptable risks, and protracted implementations. All while providing a failure rates, unacceptable risks, and protracted implementations. All while providing a comprehensive, flexible platform that meets the needs of businesses of every size, from comprehensive, flexible platform that meets the needs of businesses of every size, from the world's largest enterprises to small and mid-sized companies everywhere.
the world's largest enterprises to small and mid-sized companies everywhere.
Salesforce.com minimizes the risk involved in application development and Salesforce.com minimizes the risk involved in application development and implementation. After all, technology should solve your business problems, not create implementation. After all, technology should solve your business problems, not create more headaches. With salesforce.com and the Force.com cloud computing technology, more headaches. With salesforce.com and the Force.com cloud computing technology, you'll be free to focus on solving strategic problems instead of worrying about you'll be free to focus on solving strategic problems instead of worrying about infrastructure requirements, maintenance, and upgrades.
infrastructure requirements, maintenance, and upgrades.
The cloud computing infrastructure also promises significant savings in administrative The cloud computing infrastructure also promises significant savings in administrative costs
costs——more than 50 percent in comparison to client/server software. The areas inmore than 50 percent in comparison to client/server software. The areas in which cloud computing saves administrative costs include:
which cloud computing saves administrative costs include:
Basic customization. The Force.comBasic customization. The Force.com cloud computing technology’s pointcloud computing technology’s point-and-click tools-and-click tools
empower administrators and business users to perform basic customizations empower administrators and business users to perform basic customizations themselves.
themselves.
Real-time reporting. Easy wizards step users through report and dashboard creation, soReal-time reporting. Easy wizards step users through report and dashboard creation, so
IT’s queue is free of report r
IT’s queue is free of report r equests.equests.
Security and sharing models. The sharing model built into the Force.com cloudSecurity and sharing models. The sharing model built into the Force.com cloud
computing infrastructure protects sensitive data while making the management of computing infrastructure protects sensitive data while making the management of security profiles much less time-consuming.
security profiles much less time-consuming.
Multiple languages and currencies. Included support for 13 languages and all currenciesMultiple languages and currencies. Included support for 13 languages and all currencies
make managing a global application easier. make managing a global application easier.
No wonder so many CIOs are restructuring their companies around a cloud computing No wonder so many CIOs are restructuring their companies around a cloud computing infrastructure.
infrastructure.
Cloud Computing Technology & Application Development Cloud Computing Technology & Application Development
Cloud computing technology is sparking a huge change in application development Cloud computing technology is sparking a huge change in application development circles. Just like the changes that moved publishing technology from paper to bits, circles. Just like the changes that moved publishing technology from paper to bits, making it possible for us to have information about anything in the world right at our making it possible for us to have information about anything in the world right at our fingertips in a flash, the move to a cloud computing infrastructure for application fingertips in a flash, the move to a cloud computing infrastructure for application development is making it possible to build robust, enterprise-class applications in a development is making it possible to build robust, enterprise-class applications in a fraction of the time and at a much lower cost.
fraction of the time and at a much lower cost.
The Force.com platform ushers in a new era of applications in the cloud that bring the The Force.com platform ushers in a new era of applications in the cloud that bring the power and success of Salesforce CRM to your whole company
power and success of Salesforce CRM to your whole company ——not just sales, service,not just sales, service, and marketing. New types of application innovation are now possible through a and marketing. New types of application innovation are now possible through a
combination of “no programming” point
combination of “no programming” point-and-click wizards, toolkits for the most popular-and-click wizards, toolkits for the most popular development languages for creating client-side applications, and Apex Code, development languages for creating client-side applications, and Apex Code,
salesforce.com’s programming language for our Force.com platform. Because the salesforce.com’s programming language for our Force.com platform. Because the
resulting applications will run natively on Force.com, developers gain many advantages. resulting applications will run natively on Force.com, developers gain many advantages.
Cloud computing technology boasts all the benefits of multitenancy, including built-inCloud computing technology boasts all the benefits of multitenancy, including built-in
security, reliability, upgradeability, and ease of use. security, reliability, upgradeability, and ease of use.
Out-of-the-box features such as analytics, offline access, and mobile deployment speedOut-of-the-box features such as analytics, offline access, and mobile deployment speed
application development. application development.
There’s no need to worry about managing and maintaining any server infrastructure,There’s no need to worry about managing and maintaining any server infrastructure,
even as applications scale to thousands of users. even as applications scale to thousands of users.
You can join a community of thousands of developers also focused on businessYou can join a community of thousands of developers also focused on business
application development for cloud computing infrastructures. application development for cloud computing infrastructures.
The Force.com AppExchange marketplace provides an outlet for all your businessThe Force.com AppExchange marketplace provides an outlet for all your business
application development and access to tens of thousands of salesforce.com customers. application development and access to tens of thousands of salesforce.com customers.
By eliminating the problems of traditional application development, cloud computing By eliminating the problems of traditional application development, cloud computing technology frees you to focus on developing business applications that deliver true technology frees you to focus on developing business applications that deliver true value to your business (or your customers). The Force.com platform lets IT innovate value to your business (or your customers). The Force.com platform lets IT innovate while avoiding the costs and headaches associated with servers, individual software while avoiding the costs and headaches associated with servers, individual software solutions, middleware or point-to-point connections, upgrades
solutions, middleware or point-to-point connections, upgrades ——and the staff needed toand the staff needed to manage it all.
Hardware Devices
Hardware Devices
computer hardware
computer hardware are componentare component devicesdeviceswhich are typically installed into orwhich are typically installed into or peripheralperipheral to ato a computer case
computer case to create ato create a personal computerpersonal computer upon which system softwareupon which system software is installed including ais installed including a firmware
firmware interface such as ainterface such as a BIOSBIOS and anand an operating systemoperating system which supports application softwarewhich supports application software that performs the operator's desired functions. Operating systems usually communicate with that performs the operator's desired functions. Operating systems usually communicate with devices through hardware
devices through hardware busesbuses by using softwareby using software device driversdevice drivers..
..
HARDWARE is The physical parts of a computer HARDWARE is The physical parts of a computer
Hardware is a collective term. Hardware includes not only the computer proper but
Hardware is a collective term. Hardware includes not only the computer proper but also the cables,also the cables, connectors, power supply units, and peripheral devices such as the keyboard, mouse, audio speakers, connectors, power supply units, and peripheral devices such as the keyboard, mouse, audio speakers, and printers.
and printers. DEVICES are an
DEVICES are any machines y machines or or components components that's that's attached to attached to a computer. a computer. Examples of Examples of devices includevices includede disk drives, printers, mice, and modems. These particular devices fall into the category of pe
disk drives, printers, mice, and modems. These particular devices fall into the category of pe ripheralripheral devices because they are separate from
devices because they are separate from the main computer.the main computer. Most devices, whether peripheral or not, re
Most devices, whether peripheral or not, re quire a program called a device driver that acts as quire a program called a device driver that acts as aa translator, converting general commands from
translator, converting general commands from an application into specific commands that the devicean application into specific commands that the device understands.
understands.
Hardware devices are generally devices that require
In relation to your computer, a hardware
In relation to your computer, a hardware device is any physical device that you might attach to thedevice is any physical device that you might attach to the computer.
computer.
This includes, but is not limited to: This includes, but is not limited to: a hard drive
a hard drive
a diskette drive (I refuse to
a diskette drive (I refuse to call 3.5" diskettes floppies)call 3.5" diskettes floppies) a USB flash drive
a USB flash drive an external hard drive an external hard drive
a CD drive (internal or external) a CD drive (internal or external) a DVD drive (internal or external) a DVD drive (internal or external) a printer
a printer a scanner a scanner
a modem (internal or external) a modem (internal or external) a cable modem
a cable modem a monitor a monitor
a pc-driven wormhole generator a pc-driven wormhole generator
Mother board
Mother board
The motherboard is the main component inside the case. It is a large rectangular board with integrated The motherboard is the main component inside the case. It is a large rectangular board with integrated circuitry that connects the other parts of the computer including the
circuitry that connects the other parts of the computer including the CPUCPU,, thethe RAMRAM,, the disk drivesthe disk drives ((CDCD,, DVDDVD,, hard diskhard disk,, or any others) as well as anor any others) as well as any peripherals connected via the ports or they peripherals connected via the ports or the expansionexpansion
slots
slots..
Components directly attached to the motherboard include: Components directly attached to the motherboard include:
TheThe central processing unitcentral processing unit ((CPUCPU) performs most of the calculations which enable a computer to) performs most of the calculations which enable a computer to
function, and is sometimes referred to as the "brain" of the computer. It is usually
function, and is sometimes referred to as the "brain" of the computer. It is usually cooledcooled by a heatby a heat sink and fan. Newer CPUs include an on-die
sink and fan. Newer CPUs include an on-die Graphics Processing Unit (GPU)Graphics Processing Unit (GPU)..
TheThe chip setchip set mediates communication between the CPU and the other components of the system,mediates communication between the CPU and the other components of the system,
including main memory. including main memory.
RAMRAM(random-access memory) stores resident part of the current running OS (random-access memory) stores resident part of the current running OS (OS core and so on)(OS core and so on)
and all running processes (application parts, using CPU or input/output (I/O) channels or waiting for and all running processes (application parts, using CPU or input/output (I/O) channels or waiting for CPU or I/O channels).
CPU or I/O channels).
TheThe BIOSBIOSincludes bootincludes boot firmwarefirmwareand power management. Theand power management. The BBasicasic IInputnput OOutpututput SSystem tasks areystem tasks are
handled by
handled by operating systemoperating systemdrivers. Newer motherboards usedrivers. Newer motherboards use Unified Extensible FirmwareUnified Extensible Firmware
Interface
Interfaceinstead of BIOS.instead of BIOS.
InternalInternal busesbusesconnect the CPU to various iconnect the CPU to various internal components and to expansion cards for graphicsnternal components and to expansion cards for graphics
and sound. and sound.
CurrentCurrent
TheThe north bridgenorth bridgememory controller, for RAM and PCI memory controller, for RAM and PCI ExpressExpress
PCI ExpressPCI Express,, for expansion cards such as graphics, lannd for expansion cards such as graphics, lannd and physics processors, andand physics processors, and
high-end network interfaces high-end network interfaces
PCIPCI,, for other expansion cardsfor other expansion cards
SATASATA,, for disk drivesfor disk drives
ATAATA
External bus controllers
External bus controllers support ports for external peripherals. These ports masupport ports for external peripherals. These ports may be controlled directlyy be controlled directly by the
by the south bridgesouth bridge I/O controller or based on expansion cards I/O controller or based on expansion cards attached to the motherboard through theattached to the motherboard through the PCI bus. PCI bus. USBUSB FireWireFireWire eSATAeSATA SCSISCSI
Power supply
Power supply
A power supply unit (PSU) converts alternating current (AC) electric power to low-voltage DC power for A power supply unit (PSU) converts alternating current (AC) electric power to low-voltage DC power for the internal components of the computer. Some power supplies have a switch to change between 230 V the internal components of the computer. Some power supplies have a switch to change between 230 V and 115 V. Other models have automatic sensors that switch input voltage automatically, or are able to and 115 V. Other models have automatic sensors that switch input voltage automatically, or are able to accept any voltage between those lim
accept any voltage between those limits. Power supply units used in comits. Power supply units used in computers are nearly alwaysputers are nearly always switchswitch
mode power supplies (SMPS)
mode power supplies (SMPS).. The SMPS provides regulated direct current power The SMPS provides regulated direct current power at the several voltagesat the several voltages required by the motherboard and accessories such as
Removable media devices
Removable media devices
CDCD(compact disc) - the most common type of removable media, suitable for music and data.(compact disc) - the most common type of removable media, suitable for music and data.
CD-ROM DriveCD-ROM Drive- a device used for reading data from a CD.- a device used for reading data from a CD.
CD WriterCD Writer - a device used for both reading and writing data to and from a CD.- a device used for both reading and writing data to and from a CD.
DVDDVD(digital versatile disc) - a popular type of removable media that is the same dim(digital versatile disc) - a popular type of removable media that is the same dim ensions as a CDensions as a CD
but stores up to 12 times
but stores up to 12 times as much information. It is the mas much information. It is the m ost common way of transferring digitalost common way of transferring digital video, and is popular for data storage.
video, and is popular for data storage.
DVD-ROM DriveDVD-ROM Drive- a device used for reading data from a DVD.- a device used for reading data from a DVD.
DVD WriterDVD Writer- a device used for both reading and writing data to and from a DVD.- a device used for both reading and writing data to and from a DVD.
DVD-RAM DriveDVD-RAM Drive- a device used for rapid writing and reading of data from a special type of DVD.- a device used for rapid writing and reading of data from a special type of DVD.
Blu-ray DiscBlu-ray Disc- a high-density optical disc format for data and high-definition video. Can store 70 times- a high-density optical disc format for data and high-definition video. Can store 70 times
as much information as a CD. as much information as a CD.
BD-ROM DriveBD-ROM Drive- a device used for reading data from a Blu-ray disc.- a device used for reading data from a Blu-ray disc.
BD WriterBD Writer- a device used for both reading and writing data to and from a Blu-ray disc.- a device used for both reading and writing data to and from a Blu-ray disc.
HD DVDHD DVD- a discontinued competitor to the Blu-ray format.- a discontinued competitor to the Blu-ray format.
Floppy diskFloppy disk- an outdated storage device consisting of - an outdated storage device consisting of a thin disk of a thin disk of a flexible magnetic storagea flexible magnetic storage
medium. Floppies are used today mainly for loading
medium. Floppies are used today mainly for loading device driversdevice driversnot included with annot included with an operatingoperating
system
systemrelease (for example, RAID drivers).release (for example, RAID drivers).
Iomega Zip driveIomega Zip drive- an outdated medium- an outdated medium-capacity removable disk storage system, first introduced by-capacity removable disk storage system, first introduced by
Iomega in 1994. Iomega in 1994.
USB flash driveUSB flash drive- a flash memory data storage device integrated with a USB interface, typically small,- a flash memory data storage device integrated with a USB interface, typically small,
lightweight, removable, and rewritable. Capacities vary, from hundreds of m
lightweight, removable, and rewritable. Capacities vary, from hundreds of m egabytes (in the sameegabytes (in the same range as CDs) to tens of gigab
range as CDs) to tens of gigabytes (surpassing, at great expense, Blu-ray discs).ytes (surpassing, at great expense, Blu-ray discs).
Tape driveTape drive- a device that reads and - a device that reads and writes data on a mwrites data on a magnetic tape, used for long term storage andagnetic tape, used for long term storage and
backups. backups.
Secondary storage
Secondary storage
Hardware that keeps data inside the com
Hardware that keeps data inside the computer for later use and remains persistent even puter for later use and remains persistent even when thewhen the computer has no power.
computer has no power.
Hard diskHard disk- for medium-term storage of data.- for medium-term storage of data.
Solid-state driveSolid-state drive- a device similar to hard disk, but containing no moving parts and stores data in a- a device similar to hard disk, but containing no moving parts and stores data in a
digital format. digital format.
RAID array controllerRAID array controller- a device to manage several internal or external hard disks and optionally- a device to manage several internal or external hard disks and optionally
some peripherals in order to achieve performance or reliability improvement in what is called a RAID some peripherals in order to achieve performance or reliability improvement in what is called a RAID array.
Sound card
Sound card
Enables the computer to output sound to audio devices, as well as accept input from a
Enables the computer to output sound to audio devices, as well as accept input from a microphonemicrophone.. MostMost modern computers have sound cards built-in to the motherboard, though it is common for a user to install modern computers have sound cards built-in to the motherboard, though it is common for a user to install a separate sound card as an
a separate sound card as an upgrade. Most sound cards, either built-in upgrade. Most sound cards, either built-in or added, have surround soundor added, have surround sound capabilities.
capabilities.
Input and output peripherals
Input and output peripherals
Input
Inputandand outputoutputdevices are typically housed externally to the devices are typically housed externally to the main computer chassis. The fmain computer chassis. The following areollowing are either standard or very common to m
either standard or very common to many computer systemsany computer systems
Input Input
TextTextinput devicesinput devices
KeyboardKeyboard- a device to - a device to input text and characters by depressing buttons (referred to as input text and characters by depressing buttons (referred to as keys orkeys or
buttons). buttons).
Pointing devicesPointing devices
MouseMouse- a pointing device that detects two dimensional motion relative to its supporting surface.- a pointing device that detects two dimensional motion relative to its supporting surface.
Optical MouseOptical Mouse - uses light (laser technology) to determine mouse motion.- uses light (laser technology) to determine mouse motion.
TrackballTrackball- a pointing device consisting of an exposed protruding ball housed in a socket that- a pointing device consisting of an exposed protruding ball housed in a socket that
detects rotation about two axes. detects rotation about two axes.
TouchscreenTouchscreen- senses the user pressing directly on the - senses the user pressing directly on the monitor.monitor.
GamingGamingdevicesdevices
JoystickJoystick- a hand-operated pivoted stick whose position - a hand-operated pivoted stick whose position is transmitted to the computer.is transmitted to the computer.
Game padGame pad- a hand held game controller that relies on the digits (especially thumbs) to provide- a hand held game controller that relies on the digits (especially thumbs) to provide
input. input.
Game controllerGame controller- a specific type of controller speciali- a specific type of controller specialized for certain gaming purposes.zed for certain gaming purposes.
ImageImage,, VideoVideoinput devicesinput devices
Image scannerImage scanner - a device that provides input b- a device that provides input by analyzing images, printed text, handwriting, ory analyzing images, printed text, handwriting, or
an object. an object.
Web camWeb cam - a video camera used to - a video camera used to provide visual input that can be provide visual input that can be easily transferred over theeasily transferred over the
internet. internet.
AudioAudioinput devicesinput devices
MicrophoneMicrophone- an acoustic sensor that provides input - an acoustic sensor that provides input by converting sound into electrical signals.by converting sound into electrical signals.
Output Output
PrinterPrinter- a device that produces a permanent human-readable text of graphic document.- a device that produces a permanent human-readable text of graphic document.
Dot Matrix PrinterDot Matrix Printer
Laser PrinterLaser Printer
CiodeCiodedisplaydisplay
OLEDOLED- Organic Light-Emitting Diode- Organic Light-Emitting Diode
MonitorsMonitors
Basic computer components Basic computer components
Input devices
Input devices KeyboardKeyboard··Image scannerImage scanner··MicrophoneMicrophone··Pointing devicePointing device((Graphics tabletGraphics tablet··JoystickJoystick··LightLight
pen
pen··MouseMouse··TouchpadTouchpad··TouchscreenTouchscreen··TrackballTrackball)) ·· WebcamWebcam((SoftcamSoftcam))
Output devices
Output devices MonitorMonitor··PrinterPrinter··SpeakersSpeakers
Removable data storage
Removable data storage Optical disc driveOptical disc drive((CD-RWCD-RW··DVD+RWDVD+RW)) ·· Floppy diskFloppy disk··Memory cardMemory card··USB flash driveUSB flash drive
Computer case
Computer case Central processing unitCentral processing unit(CPU)(CPU) ·· Hard diskHard disk// Solid-state driveSolid-state drive··MotherboardMotherboard··Network interface controllerNetwork interface controller··PowPow
access memory
access memory(RAM)(RAM) ·· Sound cardSound card··Video cardVideo card
Data ports