INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: True client/server system  (Read 5538 times)

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
True client/server system
« on: July 17, 2007, 04:16:47 am »

I'd really love to see MC as more of a true client/server system.
With write access from all clients.  Locking single files rather than
making entire clients read only.

lalittle

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3964
True client/server system
« Reply #1 on: July 17, 2007, 04:49:39 am »

I'd really love to see MC as more of a true client/server system.
With write access from all clients.  Locking single files rather than
making entire clients read only.

I agree that this capability would be a terrific addition.  Unfortunately, there are complications to this (such as what happens when two systems try to edit the same file at the same time), and my guess is that it would be relatively complex to implement.

At this time, I'm just hoping for "full featured" audible file capability on the client, which means the ability to have the client save it's own bookmarks.  My hope is that it might be possible to implement this without requiring big changes to MC -- perhaps some sort of "extra" information that the client that could override just the "bookmark" data from the server.

Larry
Logged

Alex B

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 10121
  • The Cosmic Bird
True client/server system
« Reply #2 on: July 17, 2007, 09:36:23 am »

I'd really love to see MC as more of a true client/server system. With write access from all clients.  Locking single files rather than making entire clients read only.

Actually a client never accesses the server database directly. It downloads a copy of the library on every reconnect. Only the filenames are converted on the fly. Each new copy replaces the previously used client library entirely. JRiver would need to build a server/client system from the scratch.
Logged
The Cosmic Bird - a triple merger of galaxies: http://eso.org/public/news/eso0755

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: True client/server system
« Reply #3 on: July 17, 2007, 10:11:09 am »

Actually a client never accesses the server database directly. It downloads a copy of the library on every reconnect. Only the filenames are converted on the fly. Each new copy replaces the previously used client library entirely. JRiver would need to build a server/client system from the scratch.

Thats the Library Server system.  There is the system where you can use the same library as well.
Thats already in place I believe?

robydago

  • Citizen of the Universe
  • *****
  • Posts: 518
Re: True client/server system
« Reply #4 on: July 17, 2007, 10:22:24 am »

JRiver would need to build a server/client system from the scratch.

Why? Couldn't they use an open source DB like MySql?
Logged

Alex B

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 10121
  • The Cosmic Bird
Re: True client/server system
« Reply #5 on: July 17, 2007, 10:26:45 am »

Thats the Library Server system.  There is the system where you can use the same library as well.
Thats already in place I believe?

The shared library is not different. When MC detects that the library is in use it creates a copy of the library. It just does not convert the filenames to web addresses.

Why? Couldn't they use an open source DB like MySql?

I don't know. They use what they use - for a reason, I think.
Logged
The Cosmic Bird - a triple merger of galaxies: http://eso.org/public/news/eso0755

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: True client/server system
« Reply #6 on: July 17, 2007, 10:36:07 am »

The shared library is not different. When MC detects that the library is in use it creates a copy of the library. It just does not convert the filenames to web addresses.

I don't know. They use what they use - for a reason, I think.

Ah I did not realise it created a copy of the library still.  That's a shame.
Truth be known if MC didn't go down this road at some point in the future,
I would start to search for a different product. 

I think the whole idea of a Media Home would rotate around a product like this.
On the plus side I don't have the home to put it in at the moment.
I think we will start to see more products designed to work in this way.

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72380
  • Where did I put my teeth?
Re: True client/server system
« Reply #7 on: July 17, 2007, 10:44:04 am »

Ah I did not realise it created a copy of the library still.  That's a shame.
Truth be known if MC didn't go down this road at some point in the future,
I would start to search for a different product. 

I think the whole idea of a Media Home would rotate around a product like this.
On the plus side I don't have the home to put it in at the moment.
I think we will start to see more products designed to work in this way.
Full read write access for multiple users in a home is a double edged sword.  It can make some things easier that you might not want -- file deletions, for example.

To do it properly, you'd need user levels with appropriate permissions.  While a certified computer geek might be delighted to administer such a system, I think most users would find it difficult.

We built what we think is a reasonable compromise. 

In our past testing, the publicly available databases like MYSQL and Postgress were not fast enough.  Over time, that may change.
Logged

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: True client/server system
« Reply #8 on: July 17, 2007, 10:59:07 am »

I'd really love to see MC as more of a true client/server system.
With write access from all clients.  Locking single files rather than
making entire clients read only.
Can you give some instances where this would be desirable ?

After what JimH said, i can't help wondering whether this might be rather complex to manage from a user perspective especially recovery from user errors, which i find make up a rather important percentage in general software issues.

It's hard enough, already, to recover from them when i'm the only user :D

..not because MC makes this hard but rather the freedom MC allows. A library can change a lot over the space of only a few days.

More users will acelerate this even more.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: True client/server system
« Reply #9 on: July 17, 2007, 01:21:32 pm »

After what JimH said, i can't help wondering whether this might be rather complex to manage from a user perspective especially recovery from user errors, which i find make up a rather important percentage in general software issues.

When in doubt, PEBKAC.

I've thought often about developing an application that would accomplish the same thing I have scripted now at home (but be able to do it in a much smarter way than the script currently allows).  One thing that annoys me about the current system is that the Podcast Auto-Downloading can't be selectively enabled/disabled on a per-system basis, and that has been a further motivation for the "application method" (which could modify the Podcast.xml file easily to change that value).

It could do some pretty cool stuff, like have a plugin for MC that "listens" for changes and dynamically syncs the database with the central shared copy.

It would also be a lot of work though, and I'm busy as is...  I have been itching to develop something in C# though, which I've been slowly learning.  Who knows....  ::)
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: True client/server system
« Reply #10 on: July 17, 2007, 01:40:27 pm »

I'm not really talking about using MC as a multi user system here.
I consider the Library system to resolve that (sort of).
Everyone obviously uses MC differently, but the way I tend to set
things up is everyone gets a different Library.
I've mentioned before I believe a server should be able to host multiple librarys more easily, which would ease that side of things.

I think restoring stuff in MC is so good already using the Library restore options.

I regularily move between two machines.  I tag on both of them.
I also could use multiple writing for radio stations.
If I add a radio station to a client library at the moment,
it's gone next time I load up.

I never know which machine I'm going to use
till I use it so I've no idea which ones to set as Read Only.
Generally the machine I'm using is the one I'd like to have write access.
When are you most likely to realise that a tag needs changing?
When it's being played.  No good if you're on a read only client.

Maybe on the other hand I'm quite unique in using multiple computers around
the house in this sense. I don't know.  :)
I do know it's going to get worse once I get a laptop however,
which work has been promising me for ages now.

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: True client/server system
« Reply #11 on: July 17, 2007, 02:18:55 pm »

Hah, thats an interesting suggestion, a library that follows you around.

A real easy workaround and this might work even if you are on a mac or * nix box is remote desktop or vnc.

Why would this not work ?

Otherwise if several ppl are sharing the same files, then dont update file tags (library only) in each unique copy of MC.
Logged

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: True client/server system
« Reply #12 on: July 17, 2007, 02:41:17 pm »

Hah, thats an interesting suggestion, a library that follows you around.

A real easy workaround and this might work even if you are on a mac or * nix box is remote desktop or vnc.

Why would this not work ?

I find it too much hassle to be honest.  I use remote desktop for other things,
but media playing is one of those things I just want to work.

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: True client/server system
« Reply #13 on: July 17, 2007, 02:53:32 pm »

If MC is hosted on XP pro or better, its as simple clicking on a .rdp file on any client machine desktop, firing up MC and you can even have the music piped over to your client..all handled with remote desktop.

The performance is as close to instant over a LAN for just audio.
Logged

glynor

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 19608
Re: True client/server system
« Reply #14 on: July 18, 2007, 01:36:47 pm »

Otherwise if several ppl are sharing the same files, then dont update file tags (library only) in each unique copy of MC.

That's the biggest problem with using different libraries.  Perhaps my setup is just different at home (different design goals and all that).  At my house, I have 4 different computers that all use MC for audio and video:

1. HTPC - living room
2. workstation - upstairs office (wife's mostly)
3. video workstation - downstairs office (mine mostly)
4. laptop - wherever

I need the library to match exactly on ALL of those machines.  I want to be able to find the same exact music downstairs as I can upstairs.  My wife wants to be able to watch shows on the office machine while she rides the exercise bike in there, and she can't have to navigate through a different library than she's used to on the HTPC.  However, I also want to be able to do tagging (and use bookmarks effectively) on all of those machines.  Sometimes I add a tag here or a tag there on the HTPC, but usually I go downstairs to do "real" tagging.  I also need to be able to do that while my wife is using the system in her office, or while the HTPC is watching a show, without closing and reopening MC on the different machines in a specific order.

My scripted system works well for this, but it is difficult to set up properly and it falls down on the podcasts.
Logged
"Some cultures are defined by their relationship to cheese."

Visit me on the Interweb Thingie: http://glynor.com/

horse

  • Regular Member
  • World Citizen
  • ***
  • Posts: 212
Re: True client/server system
« Reply #15 on: August 02, 2007, 11:19:08 am »

Glynor,

I'm trying to acheive the same, I have the following: -

Windows 2003 Server - Master library - Media Store
HTPC - Living room
PC - Daughters Room
PC - Son's Room
PC - Mine - This is the machine I normally do the Ripping, Tagging etc. on

I've struggled to find a way to keep the same library and look and feel on all the clients.
I would accept just being able to have all clients (and the media server) by default have RO mode.
If I want RW, I should request this with a password so I can do my modifications. (SU mode : -) )
Then it would be great if there was a auto resync/reload of the clients, but I would be just as happy to restart them and have them open the servers shared library again in RO mode.

I agree with the request to have MC move a little more towards the center of my Networked Home.
There is no other application that provides the flexibility and management features over my library in a way that is easy to use. Mainly because there really is no fully features uPnP client that can handle all the content stored in my library with the quality. One of the best features is the ability to handle ISO images in the library, there is limited devices that handle this. Keeping my DVD's safe from the kid's is important!
Logged

stanger89

  • MC Beta Team
  • Junior Woodchuck
  • *****
  • Posts: 67
Re: True client/server system
« Reply #16 on: August 20, 2007, 08:13:07 pm »

I know I don't post here much, and when I do it seems to be only to complain, but I look at that as being a testament to MC, in a positive way.  Overall it just works, no tweaking, no troubleshooting, I just use it.

That said, a true client/server architecture is something I've been wanting, almost since I started using MC.  If you want to know what I mean by "true client/server", just look at SageTV, IMO it's a model of what a client/server media system should be (if not a model of what a music system should be :p).

What I mean, is I have one and only one instance of the program that contains the database (the server), and all other devices interact with that, one singular database (clients).  There's no keeping databases synced, not messing with where you do stuff, you can do whatever you want from anywhere.

Now you can get probably 75% of the way there with MC's current media server functionality, and that is what I currently do.  However it's that remaining 25% that I really miss at times.  My MC server is the same as my SageTV server, it's a Win Server 2003 box with almost 2TB of space, and between Sage and MC it manages all my media on that box and another 1.5TB NAS.  This is a headless box, stuck in the corner of the utility room in the basement.  There's no keyboard, mouse, monitor, optical drives, nothing.

What this means is that I must (I want to as well) do all my ripping on my desktop upstairs.  That part I don't mind, but where it gets to be bothersome is that it seems (even with Auto Update enabled) I have to RDP onto the server and coax it into updating it's database with newly ripped files.

But that's only a small annoyance, I don't do it that much.  But what I really miss, is the fact that changes to playlists, creation of playlists, changing of ratings, etc, all must be done on the media server to stick.  For example, probably 75% of my listenning (if not more) is at work, via MCs awesome transcoding.  There are times (eg after I rip a CD but haven't yet rated it) where I'm listenning at work and think a rating should be changed, and I can, but it doesn't get stored to the database.  Likewise, sometimes at work I'd like to create a new smartlist, or update a current one, but again, it won't stick.  And at work RDP is not an option, first because I don't want to get into that at work, and second because it's impossible (appears to be blocked offsite).

Contrast this with SageTV, where any client is as fully functional as the server.  You can schedule recordings from anywhere, mark stuff Watched/Don't Like, change import directories (from the server's perspective), and yes delete.  And if you look around the Sage forums, while user control is a requested feature, it's far from being cried for.  The lack of access control doesn't seem to be a problem there.

However if it is an issue, maybe the solution could be as simple as a flag on the server to enable/disable client write access.  Or at least, maybe that would be a closer compromise between those who want the clients read only, those who want write access from clients, and those who don't relish the idea of implementing full user-access controls ;)
Logged

raym

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3583
Re: True client/server system
« Reply #17 on: August 20, 2007, 10:07:47 pm »

Like many others here, I have a method of copying the "master" library from a central location to each client. I'm fine with this as I don't need the clients to be capable of updating the master library at all but do need them to always be up to date.

The main frustration this causes me though is that each time the client's library is updated, I loose my localised playcounts, playlists and bookmarks etc. I wish there was a way of maintaining a copy of these "settings" on a per-client basis after the library has been updated.

IMO, this is the single biggest problem with MC's built-in library sharing capability (aside from not being able to stream video content un-buffered  ;)).

Cheers.
Logged
RKM Smart Home - www.rkmsmarthome.com.au
Z-Wave Home Automation

Mithrandir

  • Recent member
  • *
  • Posts: 40
Re: True client/server system
« Reply #18 on: August 21, 2007, 09:57:19 pm »

Hi,

What stanger89 said.


M.
Logged

ThoBar

  • Citizen of the Universe
  • *****
  • Posts: 992
  • Was confishy
Re: True client/server system
« Reply #19 on: August 22, 2007, 02:00:48 am »

Hi,

What Mithrandir said.

C.  ;)
Logged

raym

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3583
Re: True client/server system
« Reply #20 on: August 22, 2007, 02:06:20 am »

Quote
...where it gets to be bothersome is that it seems (even with Auto Update enabled) I have to RDP onto the server and coax it into updating it's database with newly ripped files.

I only realised recently that Media Server doesn't run Auto Import UNLESS the GUI is open. This is probably the reason for needing to "coax" MC to update itself. Apparently this is by design though to keep the MC footprint as small as possible.

Personally, I just run the full MC client on the server in a minimised state (when not in use) instead of Media Server. When minimised, MC unloads resource hungry components like the skinning engine (similar to Media Server) but more importantly, it means Auto Import works!

Thanks.
Logged
RKM Smart Home - www.rkmsmarthome.com.au
Z-Wave Home Automation

Matt

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 42323
  • Shoes gone again!
Re: True client/server system
« Reply #21 on: August 22, 2007, 02:56:08 pm »

I only realised recently that Media Server doesn't run Auto Import UNLESS the GUI is open.

Auto-import is enabled when running Media Server.  As always, it could take a few minutes for changes to show up if there's a lot of activity in a watched folder.
Logged
Matt Ashland, JRiver Media Center

horse

  • Regular Member
  • World Citizen
  • ***
  • Posts: 212
Re: True client/server system
« Reply #22 on: August 22, 2007, 03:31:23 pm »

What they said!
This also explains why I didn't see some changes until I checked on the server :-)

How about we define a nice list of requirements with some kind of priority (Must have, nice to have, would use once in a blue moon), just maybe, one day . . . . .

i.e.

Run as a service on the server (no need to login for MC to run)                         NTH
Per user preferences/play counts stored on server (user define path?)                NTH
All users are read only by default. Via password, one can become Read/Write       MH
Video thumbnail cache shared                                                                     NTH
Logged

raym

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3583
Re: True client/server system
« Reply #23 on: August 22, 2007, 05:49:01 pm »

Auto-import is enabled when running Media Server.  As always, it could take a few minutes for changes to show up if there's a lot of activity in a watched folder.

Is it possible that it's running but the visible updates to the library aren't happening unless the GUI is open? I'm just not seeing the newly imported files in the database unless I have the GUI open and I run AI manually.

Thanks.
Logged
RKM Smart Home - www.rkmsmarthome.com.au
Z-Wave Home Automation

Jonas

  • Regular Member
  • World Citizen
  • ***
  • Posts: 113
Re: True client/server system
« Reply #24 on: August 25, 2007, 12:15:27 pm »

I run Media Center on three computers (my main computer, my girlfriend's computer and the HTPC).

While I'd love to be able to modify tags from any computer, I wouldn't really want anyone in the house (including friends who are listening to music on the HTPC) to be able to change arbitrary tags; it would probably be too easy to do something by accident for those who are not used to Media Center.  A system where one can get read/write access using a password, like horse suggests, might be a good solution here.

For me, perhaps the most important problem right now is the inability to create and modify any playlists on client computers.  If my girlfriend uses her own computer with MC in client mode, she cannot create any playlists at all.  If she wants to use MC in "normal" mode, she has to have a separate library and can't use the "global" playlists that I've created.  If wants to use my computer instead (where the server runs), she can't do it when I'm working, and she gets full access to all files -- when it comes to MC she's a beginner and we would both prefer if there was some kind of "safe mode" for her until she gets used to it, such as a client MC with the ability to create local playlists.  And so on.  So far I haven't quite been able to find a good workaround.

Logged

johnnyboy

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 626
Re: True client/server system
« Reply #25 on: August 29, 2007, 12:44:01 am »

Just a quick thought about Jim's comment about user permissions.

this needant be overly complicated and could be quite straightforwards for an average user.

Could just have a new user dialog box like this:

=================================================
New User Name [___________]
Permissions:
 - Read [] (Allows the user to read the library)
 - Write [] (Allows the user to change tags in the library)
 - Modify Files [] (Allows the user to rename, move, delete, etc files from the library)
=================================================

so the comments are in the dialog too. That'd make it pretty straight forwards to new users.
Logged

richard.e.morton

  • World Citizen
  • ***
  • Posts: 217
Re: True client/server system
« Reply #26 on: August 29, 2007, 05:04:31 pm »

Just a quick thought about Jim's comment about user permissions.

this needant be overly complicated and could be quite straightforwards for an average user.

Could just have a new user dialog box like this:

=================================================
New User Name [___________]
Permissions:
 - Read [] (Allows the user to read the library)
 - Write [] (Allows the user to change tags in the library)
 - Modify Files [] (Allows the user to rename, move, delete, etc files from the library)
=================================================

so the comments are in the dialog too. That'd make it pretty straight forwards to new users.


humm... but what about what Jonas said, playlist creation remotely? I would say was a must have.

and then you get into if I create a playlist I should be able to modify/delete it from anywhere, but should I be able to see other peoples, should they be able to have public/private playlists?

Should video playlists be shared as video over wifi is sketchy?

As jim said it gets complicated...

I would love to see it though.

a true server implementation, and multiple thick clients all connecting over the wan with complete users, groups privilege system...

Rich

P.S. I was surprised that MySQL was too slow! SQLite? have you built your own abstracted db engine then?
Logged
Media Center 12 with Girder and Netremote
Windows XP Pro SP2
Tranquil T2e
Via SP13000
2x500GB in RAID1
Testing AJAX Web-I/F
Humax DVB PVR-9600T
Denon ADV-1000
Celestion F-Series Speakers

morrison

  • Galactic Citizen
  • ****
  • Posts: 335
Re: True client/server system
« Reply #27 on: December 16, 2007, 06:18:38 pm »

To do it properly, you'd need user levels with appropriate permissions.  While a certified computer geek might be delighted to administer such a system, I think most users would find it difficult.

We built what we think is a reasonable compromise. 

I think its very badly, if JRiver team does not plan work on this  :'(. I have 5 home pc, 2 laptops and 1 carpc - and no way for synchronize play stats. Now i use different libraries with shared music files, and i want use MC for video - but rating not saved in video file, i want RW rights from all clients and dont want anytime close another clients (?strange scheme i think)..


PS sorry for my english, but maybe in this topic need voices.. )
Logged

John Gateley

  • Citizen of the Universe
  • *****
  • Posts: 4957
  • Nice haircut
Re: True client/server system
« Reply #28 on: December 16, 2007, 08:00:07 pm »

Hi Morrison,

You can always post in your native language, we usually have someone who will translate for us.

This is something that is difficult, but we are still always thinking about how to do it. It won't
be done next week, but it may be done...

Thanks,

j

benn600

  • Citizen of the Universe
  • *****
  • Posts: 3849
  • Living: Santa Monica CA Hometown: Cedar Rapids IA
Re: True client/server system
« Reply #29 on: December 17, 2007, 12:23:57 am »

I'm supporting this all the way.  My situation is a time or two worse and any motions toward a central server with clients helps greatly.

In fact, I started a whole thread with some issues for discussion (and implementation).

Quote
It won't be done next week, but it may be done...

Something is simmering...
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72380
  • Where did I put my teeth?
Re: True client/server system
« Reply #30 on: December 17, 2007, 06:47:35 am »

No plans to do this anytime soon.  It's a major undertaking that would probably have little effect on our sales.  In other words, we'd spend a lot of money and get little back.

If we had 250 people committing to pay $100, we'd think about it.
Logged

Berg

  • Regular Member
  • Recent member
  • *
  • Posts: 33
Re: True client/server system
« Reply #31 on: December 17, 2007, 09:47:09 am »

No plans to do this anytime soon.  It's a major undertaking that would probably have little effect on our sales.  In other words, we'd spend a lot of money and get little back.

If we had 250 people committing to pay $100, we'd think about it.

What about 1000 customers paying $25.00 ? or 500 for $50 ? I am sure you guys have a better handle on the metrics here, but given adding this architecture would be a significant upgrade, I am sure most users would be more than agreeable to pay an upgrade fee of that order.

The question then becomes how many of your existing customers would be willing to pay for the upgrade.

I have already expressed my view in the current direction MC is being developed (the swiss army knife instead of a best of breed audio system), but the client/server wish has been around for a long time, it because it is a large chunk of work, it seems to be set aside instead seeing lower hanging fruit.

I have paid for three upgrades to date and would be happy to pay for a fourth to get client/server. However, if a competitor comes up with a good client/server system that offers much of the audio side of MC, JRiver will loose my upgrade fee and myself as a customer.

Client/server would really propel MC ahead of its competitors and ready for the future. The multiple computer client base might be small but its not going to stay that way. Trying to be an iTunes alternative is not a stellar plan. Developing a iTunes killer for multiple user families is the future.

My two cents - I'll step off my soapbox now.
Logged

morrison

  • Galactic Citizen
  • ****
  • Posts: 335
Re: True client/server system
« Reply #32 on: December 18, 2007, 04:34:02 am »

Thanks John!

next week or next year - i think its not critical

Logged
Pages: [1]   Go Up