System and method for sharing altered content of a web page between computing devices

A system and method of adaptively sharing at least one portion of a web page between computing devices by a processor may include: associating an identification of at least one first client computing device with an identification of one or more second client computing devices; receiving at least one client property of the one or more second client computing devices; receiving an indication of an event relating to presentation of the at least one web page portion on a screen of the first client computing device; adapting, in real time, at least one presentation property of the at least one web page portion, based on the event indication and on the at least one client property; and presenting the at least one web page portion on a screen of the one or more second client computing devices, based on the association of identification, and according to the adapted presentation property.

FIELD OF THE INVENTION

The present invention relates generally to computer communication. More specifically, the present invention relates to adaptively sharing at least one portion of a web page between computing devices.

BACKGROUND OF THE INVENTION

Systems and methods that facilitate sharing of displayed content among a plurality of computing devices are commonplace in both private and work environments. Commercially available screen sharing systems enable users (e.g., commonly referred to in the art as ‘publishers’) to present or display the content of their screens to other users (e.g., commonly referred to as ‘subscribers’) of one or more other computing devices, so as to collaborate at work or leisure.

Some commercially available screen sharing systems facilitate selection and sharing of specific windows on a screen. For example, a window that may be related to a screen-sharing session may be presented to subscribers, whereas other windows that may, for example, contain personal or confidential information may be hidden from the subscribers' view.

SUMMARY OF THE INVENTION

Commercially available screen sharing systems do not allow adaptation or personalization of shared content according to specific properties of publishers and/or subscribers. Embodiments of the present invention may include a system and a method for adaptation of one or more presentation parameters of shared data content and presentation of the shared data content such that it may be personalized or optimized according to the subscribers' and/or publishers' preferences and/or according to the screen properties and/or according to configuration of the subscribers' and/or publishers' computing device.

Embodiments of the present invention may include a method of adaptively sharing at least one portion of a web page between computing devices by at least one processor. Embodiments of the method may include: associating (e.g., by the at least one processor) an identification of at least one first client computing device with an identification of one or more second client computing devices; receiving at least one client property of the one or more second client computing devices; receiving (e.g., by the at least one processor) an indication of an event relating to presentation of the at least one web page portion on a screen of the first client computing device; adapting (e.g., by the at least one processor), in real time or in near-real time, at least one presentation property of the at least one web page portion, based on the event indication and on the at least one client property; and presenting (e.g., by the at least one processor) the at least one web page portion on a screen of the one or more second client computing devices, based on the associating an identification, and according to the presentation property adapted based on the event indication and the at least one client property.

According to some embodiments of the invention, the client property may be selected from a list consisting of: one or more screen properties of the one or more second computing devices and one or more user preferences associated with the one or more second computing devices.

According to some embodiments of the invention, the presentation property may be selected from a list consisting of: an aspect ratio, a resolution, a location on a screen, a color, a page structure, a font, an object of a web page, a textual content, an image content, a language, a drawing, and a Uniform Resource Locator (URL).

According to some embodiments of the invention, the at least one processor may adapt the at least one presentation property by modifying a URL line of the web page and adapting the at least one presentation property according to the modified URL.

According to some embodiments of the invention, the at least one web page portion may be associated with one or more web page divisions, and the event may include a graphical action performed in relation to on one or more web page divisions on the first client computing device. The at least one processor may adapt the presentation property by applying a respective graphical action relating to respective web page divisions on the one or more second client computing devices.

According to some embodiments of the invention, the at least one web page portion may be associated with one or more divisions of a web page. The at least one processor may adapt, in real time or in near-real time, at least one presentation property pertaining to the one or more divisions, based on the event indication and on the at least one client property of the one or more second client computing devices. The at least one processor may present the at least one web page portion on the one or more second client computing devices based on the adapted presentation property.

According to some embodiments of the invention, the at least one processor may accumulate one or more user preferences associated with the one or more second computing devices in a database. The at least one processor may adapt the at least one presentation property of one or more divisions by personalizing the presentation property according to the accumulated user preferences.

According to some embodiments of the invention, the at least one processor may analyze at least one division of the web page to determine a privacy policy associated with the respective division. The at least one processor may present the at least one web page portion on a screen of the one or more second client computing devices based on the determined privacy policy.

According to some embodiments of the invention, the at least one web page portion may be associated with one or more divisions of a web page. The at least one processor may: receive a viewing indication relating to presentation of the at least one web page portion on a screen of at least one second client computing device; adapt, in real time or in near-real time, at least one presentation property pertaining to the at least one web page division, based on the viewing indication; and present the at least one web page portion on the screen of the first client computing device, based on the adapted presentation property.

Embodiments of the invention may include a system for adaptively sharing at least one portion of a web page between computing devices. Embodiments of the system may include: a non-transitory memory device (e.g., element4ofFIG.1), wherein modules of instruction code may be stored, and one or more processors and/or controllers (e.g., element2ofFIG.1) that may be associated with the memory device and may be configured to execute the modules of instruction code. The one or more processors may be further configured, upon execution of said modules of instruction code, to: associate an identification of at least one first client computing device with an identification of one or more second client computing devices; receive at least one client property of the one or more second client computing devices; receive an indication of an event relating to presentation of the at least one web page portion on a screen of the first client computing device; adapt, in real time, a value of at least one presentation property of the at least one web page portion, based on the indication of the event and on the at least one client property; and present the at least one web page portion on a screen of the one or more second client computing devices, based on the associating an identification, and according to the adapted presentation property value.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

Although embodiments of the invention are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. The term set when used herein may include one or more items. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.

The term set when used herein can include one or more items. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.

Embodiments of the present invention may include a method and a system for adaptively sharing at least one portion of a web page between computing devices, as elaborated herein.

Reference is now made toFIG.1, which is a block diagram depicting a computing device1, which may be included within an embodiment of a system for adaptively sharing at least one portion of a web page between computing devices, such as computing device1, according to some embodiments.

Computing device1may include a controller2, an operating system3, a memory4, executable code5, a storage system6, one or more input devices7, one or more output devices8, and one or more monitors or displays9. Controller2may be a central processing unit (CPU) processor, a chip or any suitable computing or computational device. Controller2(or one or more controllers or processors, possibly across multiple units or devices) may be configured to carry out methods described herein, and/or to execute or act as the various modules, units, etc. More than one computing device1may be included in, and one or more computing devices1may act as the components of, a system according to embodiments of the invention.

Operating system3may be or may include any code segment (e.g., one similar to executable code5described herein) designed and/or configured to perform tasks involving coordination, scheduling, arbitration, supervising, controlling or otherwise managing operation of computing device1, for example, scheduling execution of software programs or tasks or enabling software programs or other modules or units to communicate. Operating system3may be a commercial operating system. It will be noted that an operating system3may be an optional component, e.g., in some embodiments, a system may include a computing device that does not require or include an operating system3.

Memory4may be or may include, for example, a Random Access Memory (RAM), a read only memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a double data rate (DDR) memory chip, a Flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short term memory unit, a long term memory unit, or other suitable memory units or storage units. Memory4may be or may include a plurality of possibly different memory units. Memory4may be a computer or processor non-transitory readable medium, or a computer non-transitory storage medium, e.g., a RAM. In some embodiments of the invention, a non-transitory storage medium, a hard disk drive, another storage device, etc., such as memory4, may store instructions or code which when executed by a processor may cause the processor to carry out methods as described herein.

Executable code5may be any executable code, e.g., an application, a program, a process, task or script. Executable code5may be executed by controller2possibly under control of operating system3. For example, executable code5may be an application that may perform a method for adaptively sharing at least one portion of a web page between computing devices by, for example, associating identifications of two or more computing devices, such as computing device1, receiving at least one client property, receiving an indication of an event, adapting, in real time, a value of at least one presentation property based on the even indication and at least one client property, and presenting the at least one web page portion on a screen9based on the association and presentation property, as further described herein. Although, for the sake of clarity, a single item of executable code5is shown inFIG.1, a system according to some embodiments of the invention may include a plurality of executable code segments similar to executable code5that may be loaded into memory4and cause controller2to carry out methods described herein.

Storage system6may be or may include, for example, a flash memory as known in the art, a memory that is internal to, or embedded in, a micro controller or chip as known in the art, a hard disk drive, a CD-Recordable (CD-R) drive, a Blu-ray disk (BD), a universal serial bus (USB) device or other suitable removable and/or fixed storage unit. Data pertaining to a session of screen sharing, such as the association, client property, indication of the event, and the presentation property, may be stored in storage system6and may be loaded from storage system6into memory4where it may be processed by controller2. In some embodiments, some of the components shown inFIG.1may be omitted. For example, memory4may be a non-volatile memory having the storage capacity of storage system6. Accordingly, although shown as a separate component, storage system6may be embedded or included in memory4.

Input devices7may be or may include any suitable input devices, components or systems, e.g., a detachable keyboard or keypad, a mouse and the like. Output devices8may include one or more (possibly detachable) speakers and/or any other suitable output devices. Any applicable input/output (I/O) devices may be connected to Computing device1as shown by blocks7and8. For example, a wired or wireless network interface card (NIC), a universal serial bus (USB) device or external hard drive may be included in input devices7and/or output devices8. It will be recognized that any suitable number of input devices7and output device8may be operatively connected to computing device1as shown by blocks7and8. The one or more monitors or displays9may be, for example, a cathode-ray tube (“CRT”) monitor, a liquid crystal display (“LCD”) monitor, a light emitting diode (“LED”) monitor and the like.

A system according to some embodiments of the invention may include components such as, but not limited to, a plurality of central processing units (CPU) or any other suitable multi-purpose or specific processors or controllers (e.g., controllers similar to controller2), a plurality of input units, a plurality of output units, a plurality of memory units, and a plurality of storage units.

Reference is now made toFIG.2which is a block diagram, depicting a system for sharing content of a web page110′ (e.g.,110′A,110′B), such as website or web page structural data (e.g.,110′B) and website or web page content data (e.g.,110′A) between computing devices20′A and20′B, as known in the art.

For example, a website server10′ may store (e.g., on a storage element, on a memory element and the like) web page content data110′A (e.g., text, images, videos, etc.) that may be presented on a screen of a subscriber's computing device (e.g., one of20′A and20′B) (e.g., by a web browser). Website server10′ may also store web page structural data110′B (e.g., a number of columns, a format of divisions, a font of text, and the like), that may relate to a manner of presenting the data on the subscriber's browser, as known in the art.

As shown inFIG.2, commercially available screen sharing systems may include an event synchronization server30′ that may be communicatively connected to one or more website client computing devices20′A and20′B).

Event synchronization server30′ may allow synchronization of the presentation of web page data110′ (e.g.,110′A,110′B) among a plurality of website client computing devices20′A and20′B). For example, a first user (e.g., a publisher) may present a portion of a web page (e.g.,110′) (e.g., by the action of scrolling) on the screen of a first computing device (e.g.,20′A). Event synchronization server30′ may determine the web page portion that may be presented on the screen of the first computing device (e.g.,20′A) and may communicate with a second client computing device (e.g.,20′B) to present a similar portion of the web page on the screen of the second client computing device (e.g.,20′B).

One problem with commercially available screen sharing systems is that they may not adapt content of web pages and/or present the content of web pages on different client computing devices so as to match specific client properties.

For example, commercially available systems may not present shared data content as personalized content according to a user's preference. This may result, for example, in certain information that a publisher may not want to share with a subscriber being visible to the subscriber or result in certain information that a publisher wishes to share with the subscriber not being visible by the subscriber. Alternatively, this may result in information that may be shared between computing devices of the publisher and subscriber in a manner that is devoid of or oblivious to each user's preferences (e.g., oblivious to a user's identity, their preferred language, previous selections made by the users, etc.)

In another example, commercially available systems may not present shared data content in a manner that may be optimized according to screen properties (e.g., aspect ratio, resolution, etc.) of the subscribers' computing device. This may result in certain data being hard to read/understand by the subscriber and/or result in a degradation of the viewing experience, especially when sharing images or videos.

In another example, commercially available systems for screen sharing may prevent subscriber users from viewing specific windows (e.g., login dialog windows including a password textbox) that may be presented on a screen of a publisher's computing device, but may not alter specific parameters of the publisher's windows (e.g., translate a password text to asterisks) and present the altered version of the window to one or more subscribers. In such scenarios, the subscriber user may think the publisher user is doing anything when, for example, inputting password, which may be problematic, for example, in step by step tutorials where one of the steps requires the subscriber to input the subscriber's password or other information into a certain window to proceed.

In another example, commercially available systems may not enable users of different client computing devices (e.g., having different screen properties) to collaborate by performing actions (e.g., selection, marking and/or drawing graphical elements) on their respective screens. For example, a first user (e.g., a publisher, using client computing device20′A) may desire to draw attention to a specific graphical element on a web page by marking a circle around it. Commercially available systems for screen sharing may present the marked circle on screens of one or more subscriber computing devices (e.g.,20′B). However, as commercially available systems may be oblivious to screen parameters (e.g., aspect ratio) of the one or more subscriber computing devices20′B, the marked circle may be misplaced in relation to the item of interest, and, thus, not direct the subscriber's attention to the correct area of the screen.

In yet another example, as commercially available systems may be oblivious to screen parameters, such commercially available systems may not enable a first client computing device20′A to mark or highlight a location or portion which may be simultaneously viewed by a user of a second client computing device20′B.

As elaborated herein, embodiments of the present invention may be configured to adapt content of web pages and/or present the content of web pages on different client computing devices so as to match specific client properties. Embodiments of the present invention may thus overcome the shortcomings of commercially available systems and methods of screen sharing, as exemplified above.

For example, embodiments of the invention may enable a publisher user to share their screen with a subscriber user, in a sense that both users may view the same web page substantially at the same time (e.g., collaborate in web browsing through an online shopping web page for clothes). As elaborated herein (e.g., in relation toFIGS.3A and3B) embodiments of the invention may receive at least one value of a presentation property (e.g., element330A ofFIGS.3A and3B) and produce (e.g., by translation module330ofFIGS.3A and3B) at least one altered or adapted presentation property value (e.g., element330A′ ofFIGS.3A and3B). This adaptation may, for example, take into account each user's identity, so as to present the shared web page on each user's device (e.g., elements20A,20B ofFIG.3A and20CofFIG.3B) according to their respective identity (e.g., to include their respective names).

Additionally, or alternatively, the adaptation may take into account each user's preferences (e.g., their preferred language, previous selections made by the users, etc.) to present the shared web page on each user's device (e.g., element20A,20B,20C) according to these preferences. Pertaining to the example of browsing through an online shopping web page for clothes, this may mean that both users may see depiction of a similar item (e.g., a shirt), where a first user may see it in a first color and described in a first language whereas a second user may see it in a second color and described in a second language.

Additionally, or alternatively, the adaptation may take into account properties of each client device (e.g., screen resolution and/or aspect ratio) so as to present the shared web page in a manner that best fits the properties of each client device.

FIG.3Ais a block diagram, depicting a system100for adaptively sharing at least one portion of a web page between computing devices, according to some embodiments. As shown inFIG.3A, system100may include a share server30, adapted to manage sessions of screen sharing among a plurality (e.g., two or more) of client devices (e.g.,20A and20B). Each of share server30and client devices20A and20B may be implemented as a hardware module, a software module or any combination thereof.

For example, share server30and/or client devices20A and20B may each be or may each include one or more computing devices, such as computing device1ofFIG.1, including at least one processor or controller, such as element2ofFIG.1, adapted to implement, for example, one or more methods for adaptively sharing at least one portion of a web page among the plurality of client devices, as elaborated herein.

According to some embodiments of the invention, one or more client devices20A and20B (e.g., smartphones, laptop computers, tablet computers and the like) may communicate, via a computer communication network (e.g., the internet, a cellular network and the like) with a computing device, such as a website server10(e.g., one or more computing devices, such as computing device1ofFIG.1). Website server10may, for example, manage a website, and may provide to the one or more client devices20A and20B, at least one of web page content110A (e.g.,110′A ofFIG.2) and/or web page structural data110B (e.g.,110′B ofFIG.2), as known in the art. Client devices20A and20B may include a web browser (e.g.,240A and240B respectively) that may present the web page on one or more screens (e.g., screens such as screen9ofFIG.1) of client devices20A and20B, as known in the art.

According to some embodiments of the invention, system100may include a static web server40, that may be associated with website server10. In some embodiments, static web server40may be implemented as a one or more separate computing devices, such as element1ofFIG.1, and may be communicatively connected (e.g., via the internet) with one or more website servers (e.g., one or more computing devices such as computing device1ofFIG.1), such as servers that manage websites of different legal entities commercial entities and the like. Additionally, or alternatively, static web server40may be implemented on the same one or more computing devices as website server10and may be dedicated to a specific website. Additional embodiments may include any combination of the embodiments elaborated herein.

According to some embodiments of the invention, website server10may refer one or more client devices20A and20B to static web server40. Static web server40may provide to the one or more client devices20A and20B a static site configuration40A, including, for example a configuration for one or more action or trigger buttons, (e.g., for a visual configuration and/or an initial language). Additionally, or alternatively, static web server40may provide to the one or more client devices20A and20B static code40B that may include, for example, code responsible for client-side communication with share server30.

Static site configuration40A and/or static code40B may be utilized by the one or more client devices20A and20B to adapt content (e.g.,110A) and structure (e.g.,110B) of the website, as elaborated herein. For example, static code40B may include a reference or an address (e.g., an internet protocol (IP) address, a Media Access Control (MAC) address, a communication socket ID and the like) to share server30that may be adapted to manage a screen sharing session among the plurality of client devices20A and20B, as elaborated herein.

According to some embodiments of the invention, share server30may include a session manager320, adapted to manage a screen sharing session among the plurality of client devices20A and20B. The term “screen sharing session”, or ‘session’ for short may be used herein in reference to a period of time in which two or more client devices may simultaneously present or display (e.g., on a screen, such as screen9ofFIG.1) one or more portions of a web page associated with or originating from website server10.

Session manager320may monitor and/or store (e.g., on storage device or system6ofFIG.1) a session table320A that may include one or more data elements pertaining to a session. Session table320A may be implemented as any appropriate data structure such as a table in a database.

Session table320A may include, for example, one or more of: an identification number (ID) of a session, a context of a session (e.g., an identification, such as a URL of a shared website), an identification (e.g., a MAC address) of a client device (e.g., one of client devices20A and20B), an identification (e.g., a name) of one or more users participating in a session, a time of participation of one or more user in a session, an identification of a publisher user (also referred to in the art as an ‘influencer’), an image of the publisher user, a list of events that may have occurred during a session, as elaborated herein and/or a list of messages that may have been transferred among client devices during the session.

According to some embodiments, a screen sharing session may be associated with a single publisher user that may lead the session from its initiation until its end. Additionally, or alternatively, a screen sharing session may be associated with a plurality of publisher users. For example, a session may begin with a first user in the role of a publisher. Users may change the identity of the publisher (e.g., via input device7ofFIG.1), to have another user in the role or the publisher, so as to share their screen and lead the screen sharing session.

According to some embodiments of the invention, session manager320may associate an identification (e.g., an IP address, a MAC address, a communication socket ID and the like) of at least one first client computing device (e.g.,20A) with an identification of one or more second client computing devices (e.g.,20B). For example, session manager320may associate a first client computing device20A and a second client computing device20B as participating in or pertaining to the same screen sharing session, by session table320A.

According to some embodiments, the one or more client devices20A and20B may include or may implement a share client module220A and220B, respectively. Share client modules220A and220B may, for example, be a software module that may be executed by at least one processor (e.g., element2ofFIG.1) of the respective client device (e.g., one of20A and20B). Share client modules220A and220B may obtain at least one client property (e.g., elements221A,221B,222A,222B) of the respective client device (e.g., one of20A and20B), as elaborated herein.

Share client modules220A and220B may communicate (e.g., via the internet) with share server30and may provide the at least one client property (e.g., elements221A,221B,222A,222B) of the one or more client computing devices20A and20B as a communication message31(e.g.,31A,31B) to share server30.

The at least one client property may include, for example, one or more screen properties221A and221B of client computing device (e.g.,20A and20B respectively), including, for example, an aspect ratio, a resolution and the like.

Additionally, or alternatively, the at least one client property may include, for example, one or more user preferences that may be associated with the one or more client computing device20A and20B and/or with a user of the one or more client computing device20A and20B.

For example, the one or more user preferences222A and222B may include a definition or configuration that may be maintained or stored on client devices20A and20B, respectively, including for example a preferred human language (e.g., English, Chinese, etc.).

In another example, the one or more user preferences222A and222B may include at least one previous selection that may have been made by a user of client device (e.g., one of20A and20B) and may have been stored (e.g., as a cookie) in a memory location that may be associated with a browser (e.g., one of240A and240B). For example, a user may browse through a shopping website for shoes. The user may enter their shoe size during a process of selecting their preferred shoe and the user preference (e.g., one of222A or22B) (e.g., the preferred shoe size) may be maintained as a cookie in a memory space in, or associated with, browser (one of240A and240B).

According to some embodiments, share client modules220A and220B may be configured to accumulate (e.g., over a period of time) one or more user preferences that may be associated with the respective client computing device (e.g., one of20A and20B) in a preference database (e.g., marked inFIG.3Aas222A and222B). According to some embodiments, the database may be located or implemented locally (e.g., on a storage device (e.g., storage system6ofFIG.1) associated with client device (e.g., one of20A and20B)). Additionally, or alternatively, the preference databases222A and222B may be implemented or located globally, e.g., on a storage server (e.g., one or more computing devices, such as computing device1ofFIG.1) that may communicatively connected (e.g., via the internet) to share server30, such as a cloud-based storage server (e.g., one or more computing devices, such as computing device1ofFIG.1). Embodiments of the invention may include adapting at least one value of a presentation property of one or more web pages and/or divisions of web pages by personalizing the at least one presentation property according to the accumulated user preferences, as elaborated herein.

According to some embodiments, share server30may receive (e.g., as a communication message31) an indication of an event (e.g., at least one of223A and223B) relating to presentation of the at least one web page portion on a screen of a client computing device (e.g., one of20A and20B).

For example, a first computing device (e.g.,20A) may be used by a publisher (e.g., a user who may lead the screen sharing session) and one or more second computing devices (e.g.,20B) may be used by a subscriber (e.g., a user who may follow the publisher in the screen sharing session). At least one share client (e.g.,220A) on the publisher's computing device (e.g.,20A) may monitor at least one event (e.g.,222A) that may take place during presentation of at least a portion of a web page (e.g., having web page content110A) on a screen (e.g., screen9ofFIG.1) of the publisher's computing device20.

The at least one event (e.g.,222A) may, for example, include an action that may be performed by the publisher on client device (e.g.,20A), including for example, locating a mouse at a specific position on the web page, scrolling through the web page, selecting one or more items or elements in the web page and the like.

Additionally, or alternatively, the at least one event (e.g.,222A) may, for example, include a change that may be made to the presentation of the web page by a background process (e.g., not by an action of the publisher user), for example, in browser (e.g.,240A) and/or in website server10. Such a change may include, for example, a change due to an automated refresh of the web page, a change due to time lapse, a change of at least one data content element110A of the web page, and the like.

According to some embodiments of the invention, share server30may include an event synchronization manager310that may be adapted to synchronize between a presentation of a web page and/or a portion thereof on a first client device20A (e.g., of a publisher user) and a presentation of the web page and/or portion thereof on one or more second client devices20B (e.g., of a subscriber users).

For example, event synchronization manager310may be configured to receive a communication message31A that may include at least one event notification223A from the first client device20A (e.g., a scroll-down of the presented web page) and produce a corresponding message31B to the one or more second client devices20B that may include a corresponding action (e.g., a scroll-down of the presented web page) so as to synchronize between the presentation of the web page between the first client device20A and the one or more second client devices20B.

Additionally, or alternatively, event synchronization manager310may collaborate with a translation module330, which may be configured to adapt, in real time or in near-real time, a value of at least one presentation property330A of at least one web page portion, based on the event indication and on the at least one client property.

The terms “real time” and “real-near time” may be used in this context to refer to actions that may be performed by embodiments of the invention, substantially concurrently or shortly after an appearance or a change in an appearance of a portion of a web page on a screen of a publisher's user device.

As shown inFIG.3A, translation module330and/or rule-base database340may be included in or associated with share server30. It may be appreciated by a person skilled in the art that translation module330and/or rule-base database340may also reside in or be associated with one or more share client modules (e.g.,220A and/or220B). For example, share clients220A and/or220B may include a translation module (e.g., element2270ofFIG.4), associated with a respective set of translation rules (e.g., element227ofFIG.4) that may perform similar functions to those of translation module330(and respective rule-base database340) as elaborated herein, and will not be repeated for the purpose of brevity.

Additionally, or alternatively, embodiments of the invention may include a first translation module330on share server30and one or more second translation modules (e.g., element2270ofFIG.4) on one or more respective client devices20A and20B. According to some embodiments, first translation module330may be configured to perform a first set of translation tasks or operations, and the one or more second translation modules2270may be configured to perform a second set of translation tasks or operations. For example, first translation module330may be configured to perform translations actions that may pertain to a privacy policy of one or more websites, as elaborated herein, and the one or more second translation modules may be configured to perform translations actions that may pertain to screen properties of respective one or more client devices20A and20B, as elaborated herein.

Pertaining to the example of the scroll-down action, event synchronization manager310may receive an indication of a scroll-down action of the presented web page on the first client device20A. In this example, the at least one presentation property330A may be the position of the presented web page due to the scroll-down action. Event synchronization manager310may propagate the scroll-down action indication and/or presentation property330A to translation module330. Translation module330may produce an adapted presentation property value330A′ (e.g., the position of the web page on the screen) for one or more second client devices, according to their respective client properties (e.g., screen properties, such as aspect ratio, resolution, etc.).

Share server may communicate at least one message31B with the one or more share client modules220B on respective one or more second client devices20B, based on the association of identification of client devices in session table320A. The at least one message31B may include one or more adapted values of presentation properties330A′. Share client module220B may be configured to communicate the one or more adapted values of presentation properties330A′ to web browser240B, so as to present at least one web page portion on a screen of the one or more second client devices20B according to the adapted presentation property.

Thus, embodiments of the invention may provide adaptive synchronization of presentation of at least one portion of a web page among a plurality of client devices20A and20B.

The synchronization may be adaptive in a sense that it may be changed or computed according to at least one client property of one or more specific client devices (e.g., according to screen properties, according to user preferences and the like).

The synchronization may be based upon association of identification of two or more computing devices in a sense that it may be performed among client devices that participate in a screen sharing session (e.g., as maintained in entries of session table320A).

The synchronization may be performed according to an adapted value of presentation property330A′ in a sense that the adapted presentation property value330A′ (e.g., a location of the web page in the example of the scroll-down action) may be applied by web browser240B to present the at least one portion of the web page (e.g., data content110A) on a screen of client device20B.

According to some embodiments of the invention, presentation property330A may include, for example, at least one of: an aspect ratio, a resolution, a location on a screen, a color, a page structure, an object of a web page, an image content, a textual content, a font, a language, a drawing and a URL. Translation module330may be associated with a rule-base database340, that may include one or more rules for translating at least one presentation property330A so as to produce at least one respective adapted value of presentation property330A′, according to client properties of client devices20B.

For example, in a condition in which the presentation property330A is an aspect ratio or a resolution, rule-base database340may include a set of rules for adapting a value of an aspect ratio or resolution of a presented web page or a portion thereof, so as to best match client properties (e.g., screen properties) of client devices.

In another example, in a condition in which the presentation property330A is an object of a web page such as entries in an online form, rule-base database340may include a set of rules for adapting the entries in the online form to include data that may be specific to the user of client device20B (e.g., according to user preferences222B).

In another example, embodiments of the invention may enable a plurality of users to collaborate in a shared-screen session of reserving theatre tickets. In this example, presentation property330A may be objects of a web page of a theatre. The objects may each represent seats in the theatre, and translation module330may adapt each of the seat objects to reflect (e.g., by a color code) which seats are vacant, which are occupied by undisclosed people, which are occupied by participants of the session (e.g., “my friends”) and which seat is reserved for the user of a respective client device (e.g., “me”). In this condition, the users participating in the screen sharing session may be sharing their screens in a sense that they may be observing the web page (e.g., of the theatre) together and may have actions (e.g., selection of a movie by a publisher user) applied on web browsers of one or more (e.g., all) participants of the session. However, the sharing may be adaptive in a sense that one or more values of presentation properties330A (e.g., an object of a seat) may be adapted according to an identity of respective specific users.

In another example, in a condition in which the presentation property330A is a location of a web page or a portion thereof on a screen, translation module330may produce at least one adapted presentation property value330A′ (e.g., an adapted location) as according to client properties of client devices20B (e.g., as elaborated herein in relation to the scroll-down action example).

In another example, embodiments of the invention may enable adaptive screen sharing among shoppers in webpage of an online clothing store. for example, in a condition in which the presentation property330A is a content of an image object (e.g., an image gallery), rule-base database340may include a set of rules for selection and/or presentation of the image object according to one or more client properties (e.g., user preferences222A and/or222B). For example, if a first user has made previous selections to present clothing of an extra-large fit in an online clothing shop website, then translation module330may adapt presentation property value330A (e.g., the selectable image gallery) to show large cloths as a default selection on the first user's client device20A. If a second user has made previous selections to present clothing of a small fit in an online clothing shop website, then translation module330may adapt presentation property value330A (e.g., the selectable image gallery) to show small cloths as a default selection on the second user's client device20B. In this condition, the first user and second user may be sharing their screens in a sense that they may be observing the same pages of the website and may have actions of the first user also implemented on the browser of the second user, however they may have the presented data adapted according to their specific client properties (e.g., user preferences).

In another example, in a condition in which the presentation property330A is a language, embodiments of the invention may include adaptively synchronizing presentation of text (e.g., in written format and/or in audio format), and may facilitate collaboration between two or more people, each using their own language of preference. For example, a first user may prefer to use French and a second user may prefer to use Italian. The first user and second user may participate in a shared screen session, where both may be viewing a specific document. The users may be sharing their screens in a sense that both may be viewing a presentation of versions of the same document (e.g., a first version in French and a second version in Italian). The presentations of the text may be synchronized in a sense that both users may be viewing the same location in their respective versions of the text and actions performed by a publisher viewer (e.g., marking a portion of the text) may be also applied on the browser of the second viewer. However, the synchronization of presentation of data by browsers240A and240B of respective client devices20A and20B may be adapted in a sense that the text may be presented in a language matching a preference of the respective users.

As known in the art, website server10may manage one or more adaptive websites, as commonly referred to in the art. Adaptive websites may modify information (e.g., data content110A) and/or presentation of the information (e.g., as manifested in structural data110B) that may be included in a web page to address a specific user's needs. For example, an adaptive website may include a first version of a web page, accessible by a first URL, in a first language and a second version of the web page, accessible by a second URL, in a second language, allowing a user to select the web page version according to their preference.

According to some embodiments, share server30may adaptively synchronize a presentation of a web page among two or more client devices by utilizing adaptive websites, as elaborated herein.

For example, share server30may adapt at least one presentation property value330A (e.g., a language) by modifying a URL line of the web page of an adaptive website according to at least one client property (e.g., a language preference), and redirecting the respective client device to a web page corresponding to the modified URL. The at least one presentation property (e.g., the language) may thus be adapted according to the modified URL of the adaptive website.

In another example, share server30may adapt at least one presentation property value330A (e.g., an aspect ratio) by modifying a URL line of a web page of an adaptive website according to at least one client property. For example, embodiments of the invention may join a plurality of client devices in a shared screen session, in which a first client device20A (e.g., a smartphone) may present a mobile-oriented web page (e.g., accessible via a first URL) and a second client device20B (e.g., a laptop) may present a PC-oriented web page (e.g., accessible via a second URL). Share server30may modify the web page URL according to at least one client property such as a required screen property (e.g., to match a smartphone screen or a PC screen) and redirect the respective client device to a web page corresponding to the modified URL of the adaptive website.

In yet another example, at least one presentation property330A may include a URL of a web page of an adaptive website. Share server30may be configured to adapt the presentation property value330A (e.g., the URL) to produce an adapted URL330A′, and thus accommodate at least one client property such as a user preference222A (e.g., a preferred language).

According to some embodiments of the invention, rule-base DB340may include one or more rules for translating between respective data objects110A of different versions (e.g., accessible by different URLs) of webpages of an adaptive website.

For example, a first version of a webpage (e.g., in a first language) of an adaptive website may include an object, such as an action button, having a first identification (ID) number. A second version of the webpage (e.g., in a second language) of the adaptive website may include a respective object, such as the action button, having a second, different ID number. Rule-base DB340may include a translation rule that may associate the first ID number with the second ID number. For example, in a shared screen session, a first user may view a first version of a web page of an adaptive website on a first client device (e.g.,20A), and a second user may view a second version of the web page of the adaptive website on a second client device (e.g.,20B). The translation rule of rule-base DB340may dictate that, if the first user presses an action button associated with a first ID, then an action corresponding to the respective action button of the second version (having the second ID) will be applied on the second client device.

According to some embodiments of the invention, translation module330may cooperate with rule-base DB340, to translate between actions that may be performed on corresponding web page objects110A on different versions of web pages of adaptive websites. Pertaining to the same example, a user of client device20A may press an action button on the first version of the web page, via browser240A. Share client220A may monitor this action as an event223A and may communicate this event in real time or near-real time as message31A to share server30. Event synchronization manager310may communicate at least one property of the event (e.g., an ID number of the pressed button) as a presentation property330A to translation module330. Translation module330may cooperate with rule-base DB340, to translate the at least one property of the event (e.g., the ID number) to produce an adapted presentation property value330A′ (e.g., an adapted ID number). Additionally, or alternatively, translation module330may produce adapted presentation property value330A′ according to at least one client property (e.g.,221B,222B, such as a screen aspect ratio, an appearance preferred by the user, etc.) of client device20B. Share server30may communicate the adapted presentation property value330A′ (e.g., the adapted ID number) to one or more client devices20B in message31B. Client devices20B may apply the button-press action on their respective browsers, in real time or near real time and in accordance with client-specific properties.

As known in the art, one or more portions or objects in a web page may be associated with, or defined by, divisions. Such divisions may be configured, designed and/or referred to either separately or in the context of the entire web page. For example, a user may perform a graphical action in relation to one or more divisions of a web page that may be displayed by a browser on their computing device. Such graphical action may include, for example, marking, highlighting, and/or encircling one or more objects in the web page, corresponding to one or more respective divisions.

According to some embodiments, share server30may be configured to manage screen sharing sessions that may include actions or events (e.g.,223A and/or223B) such as graphical actions, pertaining to one or more divisions of a web page, in a manner that corresponds to at least one client property (e.g.,221A and/or221B and222A and/or222B) as elaborated herein.

For example, in a screen-sharing session, a first version of a webpage of an adaptive website may be presented on client device20A and may include an object such as a text box, having a first identification (ID) number. A second version of the webpage of the adaptive website may be presented on client device20B and may include a respective object, such as the text box, having a second, different ID number. Rule-base DB340may include a translation rule that may associate the first ID number with the second ID number, as elaborated herein (e.g., in the example of the action-button). A first user of client device20A may perform a graphical action pertaining to text box object via browser240A. For example, the first user may encircle or highlight the object so as to draw attention to it. In another example, the first user may draw an object (e.g., using a computer mouse) over the object. Share client220A may monitor this action as an event223A and may communicate this event in real time or near-real time as message31A to share server30. Message31A may include properties of the action included in event223A such as location of a highlighting or encirclement, parameters (e.g., a shape, a color, etc.) of a drawing (e.g., element225ofFIG.4), etc. Message31A may further include an ID number of the respective web page object division. Event synchronization manager310may communicate at least one property of the event (e.g., an ID of the division, a shape and/or color of the drawing225, etc.) as a presentation property330A to translation module330. Translation module330may cooperate with rule-base DB340, to translate the at least one property of the event (e.g., the ID number) to produce an adapted presentation property value or content330A′ (e.g., an adapted ID number). Additionally, or alternatively, translation module330may translate presentation property330A (e.g., a shape of the drawing225) to produce an adapted presentation property330A′ according to at least one client property (e.g.,221B,222B, such as a screen aspect ratio) of client device20B. For example, adapted presentation property value or content330A′ may include a representation (e.g., a shape, a color, etc.) of the drawing225that may be shrunk or expanded to accommodate an aspect ratio of client device20B. Share server30may communicate the adapted presentation property330A′ value (e.g., the adapted ID number) and properties of the graphical action (e.g., color of the encirclement or highlighting, shape of the drawing225, etc.) to one or more client devices20B in message31B. Client devices20B may apply the graphical action on their respective browsers, in real time or near real time and in accordance with client-specific properties.

Thus, the first user may apply or perform a graphical action (e.g., encircle, highlight, etc.) in relation to on one or more web page divisions on a first client computing device20A. Embodiments of the invention may subsequently: (a) adapt, in real time or near real time, a value or content of at least one presentation property (e.g., the encirclement, the shape of the drawing225, etc.) of the graphical action according to one or more client properties of second client devices20B; and (b) apply a respective graphical action (e.g., draw a respective shape, encircle a web page object, etc.), relating to respective web page divisions on the one or more second client computing devices20B.

According to some embodiments, share server30may be configured to adapt, in real time or in near-real time, at least one value of a presentation property pertaining to the one or more divisions, based on event indication223A and/or223B and on the at least one client property (e.g.,221A and222A) of one or more client computing devices20A. Share server30may then communicate31B the adapted presentation property value330A′ to one or more second client computing devices20B. Share clients220B of the one or more second client computing devices20B may receive adapted presentation property value330A′ and may communicate with respective browser modules240B to presenting the at least one web page portion based on the adapted presentation property value330A′.

For example, in a screen sharing session, a publisher user (e.g., of client device20A) may be viewing a web page that may include a web page object that is a text box. The text within the text box may be presented in a first language. A subscriber user (e.g., of client device20B) may be viewing the same web page that may include the same web page object (e.g., the text box). Share server30may receive (e.g., from share client220A) an ID of the web page object, and may receive (e.g., from share client220B) a client property such as a user preference222B of the second user (e.g., a preferred second language). Event synchronization manager310may propagate one or more presentation property330A parameters to translation module330, including for example: the ID of the web page object (e.g., the text box), the first language, the text in the first language and the second language. Translation module330may employ a text translation module or application (e.g., such as “Google translate”) to translate the text of the first language to a respective text in the second language and produce an adapted presentation property value or content330A′ that may include the text in the second language. Share server30may communicate31B adapted presentation property value or content330A′ to one or more second client computing devices20B. Client devices20B may subsequently present the at least one web page portion or object (e.g., the text box in the web page) based on the adapted presentation property value or content (e.g., with the text translated to the second language).

According to some embodiments of the invention, share server30may analyze at least one division of a web page to determine a privacy policy (e.g., element226ofFIG.4) associated with the respective division. For example, a web page object such as a payment dialog box, where a user may be prompted to enter a number of their credit card may be associated with a required privacy policy226. Privacy policy226may dictate, for example, that numbers of the credit card may not be seen or may be converted to other characters on browsers of other users participating in a screen sharing session. According to some embodiments, privacy policy226may be included in a division associated with the web page object (e.g., as part of web page content110A). Additionally, or alternatively, the privacy policy226may be included as a data element in static site configuration40A of static web server40.

Embodiments of the invention may present at least one web page portion or object on a screen of one or more client computing devices (e.g., via a web browser), based on the determined privacy policy226.

For example, share server30may receive (e.g., from share client220A) at least one presentation property that may be a text (e.g., a credit card number) that may be associated with a privacy policy226. Privacy policy226may dictate, for example, that private text (e.g., the credit card number) may be presented as is on a client device20A of a publisher user, but may be converted to other characters (e.g., asterisks) on client devices20B of subscriber users. Event synchronization manager310may communicate a presentation property330A to translation module330, that may include privacy policy226and the private text. Translation module330may translate the private text according to privacy policy226(e.g., convert the text characters to asterisks) to produce an adapted presentation property value or content330A′. Share server may communicate adapted presentation property value or content330A′ to the one or more second client devices20B. Client devices20B may thus present the at least one data object (e.g., the payment dialog box) via browser240B on a screen, in real time or near real-time, according to the implemented privacy policy226(e.g., with the adapted presentation property value or content330A′ of asterisk characters).

According to some embodiments, share server30may be configured to highlight one or more web page portions and/or objects on a first client device20A of a publisher user according to portions or objects of the shared web page that may be viewed by a subscriber user of a second client device20B. This configuration may, for example, allow a publisher user to understand what a subscriber user is focused on, during their screen sharing session.

For example, share server30may receive31B, from share client220B of client device20B, a viewing indication224B relating to presentation of the at least one web page portion or object on a screen of client computing device20B. Share server30may further receive (e.g., via share clients220A,220B) one or more screen parameters (e.g., aspect ratios) of client devices20A and20B (e.g.,31A,31B respectively). Viewing indication224B may include, for example an indication of one or more web page objects that may be currently presented on a screen of client device20B, a location (e.g., coordinates on a screen) whereat the one or more objects are presented, and the like. Event synchronization manager310may receive viewing indication224B and may communicate one or more parameters of viewing indication224B (e.g., presentation of a web page object, location of the presented web page object, a color of the presented web page object, etc.) as presentation property330A parameters to translation module330.

Translation module330may adapt, in real time or in near real time at least one presentation property pertaining to the at least one web page division, based on the viewing indication. For example, translation module330may translate at least one presentation property value or content330A to produce one or more adapted presentation property values or contents330A′. Adapted presentation properties330A′ may include, for example, a bright colorization of at least one presented web page object, to highlight at least one web page object that may be presented on a screen of subscriber user client device20B (e.g., as indicated by viewing indication224B).

Share server30may communicate31A the at least one adapted presentation property330A′ to share client220A of publisher client device20A, which may in turn communicate the at least one adapted presentation property330A′ to browser240A. Thus, embodiments of the invention may enable a publisher user of client device20A to view the focus of one or more subscriber users of client device20B in a synchronized screen sharing session, regardless of screen properties of the client devices.

As elaborated herein, session manager320may maintain a session table320A that may include, inter alia, a list of events (e.g.,223A,223B) that may have occurred during a session and/or a list of messages31(e.g.,31A,31B) that may have been transferred among client devices during the session.

As shown inFIG.3B, according to some embodiments, session manager320may identify a new client device20C (e.g., a computing device such as computing device1ofFIG.1) that may be joining a screen sharing session that may already be in progress (e.g., a screen sharing session between client device20A and20B). Session manager320may consequently send one or more messages31C to the newly joined client device20C, so as to bring it “up to speed” and present the shared web page and/or portions or objects thereof according to actions and events, as elaborated herein, that may have taken place before the new client device joined the session. New client device20C may have the same capabilities as client devices20A and20B, as described above. For example, similar to client devices20A and20B, the new client device20C may include a web browser240C (e.g., a web browser such as web browsers240A and240B) and may include or may implement a share client module220C (e.g., a share client module such as the share client modules220A and220B). In some embodiments of the invention, share client module220C may communicate (e.g., via the internet) with share server30and may provide the at least one client property (e.g., element221C and222C) of the new client device20C as a communication message31C to share server30. Share server30may receive (e.g., as a communication message31C) an indication of an event223C relating to presentation of the at least one web page portion on a screen of a client computing device (e.g., one of20A,20B and20C). In some embodiments of the invention, share server30may receive31C, from share client220C of new client device20C, a viewing indication224C relating to presentation of the at least one web page portion or object on a screen of client computing device20C.

FIG.4is a block diagram, depicting a share client module220that may be included in a system for adaptively sharing at least one portion of a web page between computing devices, according to some embodiments. As shown inFIG.4, share client module220(e.g., at least one of220A and220B ofFIG.3A and220CofFIG.3B) may include one or more sub-modules, each adapted to handle or maintain one or more proprietary data elements that may be used for adaptively sharing at least one portion of a web page between computing devices as elaborated herein.

For example, share client module220may include a screen parameters module2210, adapted to obtain one or more screen properties or parameters221(e.g.,221A,221B ofFIG.3A,221CofFIG.3B) of client computing device (e.g.,20A and20B ofFIG.3A, and20CofFIG.3B, respectively), including for example an aspect ratio, a resolution, a color scheme (e.g., Red Green and Blue (RGB), Black and White (B/W)) a color resolution (e.g., a number of bits per color channel), and the like.

In another example, share client module220may include a user preferences module2220adapted to obtain one or more user preferences222(e.g., element222A,222B ofFIG.3A,222CofFIG.3B), such as a preferred human language, one or more previous selection that may have been made by the user, and the like, as elaborated herein (e.g., in relation toFIGS.3A and3B).

In another example, share client module220may include an event module2230adapted to obtain or capture at least one event223(e.g.,223A,223B ofFIG.3A,223CofFIG.3B) that may occur on a client device (e.g.,20A,20B or20C). As elaborated herein (e.g., in relation toFIGS.3A and3B), event223(e.g.,223A and/or223B ofFIG.3A and/or223CofFIG.3B) may include an action that may have been done by a user or a viewer of client device (e.g.,20A,20B, or20C). Additionally, or alternatively, the at least one event222may include a change that may be made to the presentation of the web page by a background process such as a change due to an automated refresh of the web page, a change due to time lapse, a change of at least one data content element (e.g., element110A) of the web page, and the like.

As elaborated herein (e.g., in relation toFIG.3A), event module2230of one client device (e.g., element20B ofFIG.3A) may obtain (e.g., from share server30) at least one message (e.g., elements31A,31B ofFIG.3A), that may include at least one adapted presentation property value (e.g., element330A′ ofFIGS.3A and3B) that may correspond to an event or an action that may have been applied on another client device (e.g., element20A ofFIG.3A or20CofFIG.3C). For example, captured event223may be an action of pressing a button having a first ID. Event module2230of client device20B may modify event223, to obtain a reproduced event223′ that may include an adapted presentation property value (e.g., an adapted ID number, as explained herein in relation toFIG.3A). Share client220may then communicate reproduced event223′ to a browser (e.g., element240B ofFIG.3A), so as to apply the respective action on a screen of client device20B.

In another example, share client module220may include a visibility module2240adapted to obtain a viewing indication224(e.g.,224A,224B ofFIG.3A and224CofFIG.3B). As elaborated herein (e.g., in relation toFIGS.3A and3B), viewing indication224may include at least one parameter pertaining to presentation of one or more web page portions or objects on a screen of a client device. For example, viewing indication224may include an indication of one or more web page objects that may be currently presented on a screen of a client device, a location (e.g., coordinates on a screen) whereat the one or more objects are presented, and the like.

In another example, share client module220may include a drawing module2250adapted to obtain one or more parameters of a drawing225, including for example: an ID of a division that may be associated with the drawing (e.g., where a drawing was made over a specific web page object associated with the division), a shape of the drawing, a color of the drawing, etc. As elaborated herein (e.g., in relation toFIG.3A), embodiments of the invention may produce an adapted presentation property value330′A that may include at least one adapted parameter of the drawing225. For example, the presentation property330A′ may be adapted so as to fit a location (e.g., in relation to a specific web page object) and/or a size of the drawing all screens of client devices participating in the screen sharing session. Share client module220may then communicate the at least one adapted parameter of the drawing225to browser240, so as to apply the respective drawing on a screen of client device (e.g., one of20A,20B, and20C).

In another example, share client module220may include a privacy module2260adapted to obtain one or more parameters of a privacy policy226. As elaborated herein (e.g., in relation toFIGS.3A and3B), privacy policy226may dictate at least one rule pertaining to a presentation of one or more web pages or portions or objects thereof. For example, privacy policy226may dictate that private text (e.g., the credit card number) may be presented as is on a client device20A of a publisher user, but may be converted to other characters (e.g., asterisks) on client device20B of subscriber users or new client device20C.

FIG.5is a flow diagram, depicting a method for adaptively sharing, by at least one processor or controller (e.g., element2ofFIG.1), at least one portion of a web page between computing devices, according to some embodiments. For example, embodiments of the invention may share at least one portion of a web page, such as web page content data (e.g., element110A ofFIG.3A) and/or web page structural data (e.g., element110B ofFIGS.3A and3B) among two or more computing devices (e.g., client computing devices20A,20B ofFIG.3A and20CofFIG.3B).

As shown in step S1005, at least one processor or controller2(e.g., processor2of share server element30ofFIGS.3A and3B) may associate (e.g., by session manager element320ofFIGS.3A and3B) an identification of at least one first client computing device (e.g., element20A ofFIG.3A) with an identification of one or more second client computing devices (e.g., one or more of element20A ofFIG.3A and20CofFIG.3B). For example, session manager element320may associate client device20A with client device20B as participating in a screen sharing session, as elaborated herein.

As shown in step S1010, the at least one processor or controller2(e.g., processor2of share server element30ofFIGS.3A and3B) may receive at least one client property (e.g., elements221A,221B,222A,222B ofFIG.3A and221C and222CofFIG.3B) of the one or more second client computing devices.

As shown in step S1015, the at least one processor or controller2(e.g., processor2of share server element30ofFIGS.3A and3B) may receive an indication of an event that may relate to presentation of the at least one web page portion on a screen of the first client computing device.

As shown in step S1020, the at least one processor or controller2(e.g., processor2of share server element30ofFIGS.3A and3B) may adapt, in real time or in near-real time, at least one value of a presentation property of the at least one web page portion, based on the event indication and on the at least one client property. For example, as elaborated herein (e.g., in relation toFIGS.3A and3B) event synchronization manager310may collaborate with a translation module330, to adapt, in real time or in near-real time, at least one value of a presentation property330A of at least one web page portion, based on the event indication and on the at least one client property.

As shown in step S1025, the at least one processor or controller2may present the at least one web page portion on a screen of the one or more second client computing devices (e.g., elements20B ofFIG.3A and20CofFIG.3B), based on the associated identification (e.g., the association of device20A and at least one second device20B and20C as participating in a screen sharing session), and according to the presentation property (e.g., the presentation property value adapted based on the event indication and the at least one client property).

Embodiments of the invention may include a practical application for sharing, in real time or near real time altered content of a web page, or a portion thereof, between computing devices in a screen sharing session.

As elaborated herein, embodiments of the invention may include a plurality of improvements over available systems and methods for screen sharing. For example, embodiments of the invention may present shared data content as personalized content according to preference of one or more (e.g., each) user that may participate in the session. Additionally, or alternatively, embodiments of the invention may present shared data content in a manner that may be optimized according to screen properties (e.g., aspect ratio, resolution, etc.) of one or more user's computing device.

Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Furthermore, all formulas described herein are intended as examples only and other or different formulas may be used. Additionally, some of the described method embodiments or elements thereof may occur or be performed at the same point in time.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. While some of the disclosure of embodiments of the invention specifically discuss a first user (e.g., a publisher) presenting to a second user (e.g., a subscriber) as an example, it should be understood that embodiments of the invention may include the second user presenting to the first user.